《JS设计模式》之链式操作

链式操作

因为在对象里,this指向的就是当前对象,所以return回当前对象的话,就可以进行链式操作了。

  var checkObj = {
    checkMobild: function () {
      console.log('mobile')
      return this
    },
    checkName: function () {
      console.log('name')
      return this
    },
    checkSex: function () {
      console.log('sex')
      return this
    }
  }
  checkObj.checkMobild().checkName().checkSex()
  // mobile name sex
  

链式的添加属性和方法

    var Method = function () {}
    Method.prototype.addMethod = function (name, fn) {
      this[name] = fn
      return this
    }
    var method = new Method()
    method.addMethod('checkName', function () {
      console.log('name')
      return this
    }).addMethod('checkSex', function () {
      console.log('sex')
      return this
    })
    method.checkName().checkSex()
    // name sex
  

随机浏览