當前位置:
                    首頁 >
                            前端技术
>                            javascript
>内容正文                
                        
                    javascript
JS链式编程
關于鏈式編程最典型的就是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.過長的鏈式,會容易造成操作不明確,難以維護,不利于理解。
上有天,下有地,中間站著你自己,做一天人,盡一天人事兒。
總結
                            
                        - 上一篇: .Net 中接口应用的知识点(排序)
 - 下一篇: 冒泡排序时间复杂度计算和优化