美文网首页
JS链式编程

JS链式编程

作者: hunter97 | 来源:发表于2021-12-07 15:32 被阅读0次

    关于链式编程最典型的就是jQuery(虽然我们现在已经很少直接使用jQuery),我们可以通过jQuery完成一系列的链式操作,使编程的流程更加清晰。所谓的链式编程就是可以通过"点"语法,将需要执行的代码块连续的书写下去,使得代码简单易读,书写方便。ES6中的Promise也是使用了这个思想。

    先来看一个例子

    // 创建构造函数
    function Person() { }
    // 添加方法 setName
    Person.prototype.setName = function (name) {
        this.name = name;
        return this
    }
    // 添加方法 setAge
    Person.prototype.setAge = function (age) {
        this.age = age;
        return this
    }
    // 添加方法 speak
    Person.prototype.speak = function () {
        console.log(this.name, this.age)
    }
    // 添加方法 getName
    Person.prototype.getName = function (name) {
        return this.name
    }
    
    
    var per = new Person();
    per.setName('cuiht').setAge('25').speak(); //打印 cuiht 25
    console.log(per.getName());
    

    大家也可以看出来,javascript的链式编程的核心就是return this;,在函数的最后加上这一句代码,我们就可以执行链式操作了。同时这里也暴露出来它的一个弱点在,某些方法里因为有值需要返回,不能返回this,就不能继续执行链式操作。

    优点

    1.代码变得简洁,优雅。2.链式操作实际上就是使得编程的流程更加清晰,不会像回调函数一样相互耦合,难以分辨函数的执行顺序且维护困难。

    缺点

    1.如同上面所说,javascript的链式编程的一个弱点,只能应用在不需要返回值的情况下或者只能最后一步需要返回值。2.过长的链式,会容易造成操作不明确,难以维护,不利于理解。

    上有天,下有地,中间站着你自己,做一天人,尽一天人事儿。

    相关文章

      网友评论

          本文标题:JS链式编程

          本文链接:https://www.haomeiwen.com/subject/euzoxrtx.html