首页 > 在js中关于return this的问题

在js中关于return this的问题

on: function(event, fn) {
    var handles = this._handles || (this._handles = {}),
      calls = handles[event] || (handles[event] = []);

    // 找到对应名字的栈
    calls.push(fn);

    return this;
  }

在这个函数中,return this到底是什么意思,调用这个函数的时候并没有和赋值语句一起使用啊?请问为何还要使用?


如果你知道jq的链式写法, 就知道为什么要return this了...

var a = {
    b: function(bb) {
        console.log(bb)
        return this;
    },
    c: function(cc) {
        console.log(cc)
        return this;
    },
    d: function(dd) {
        console.log(dd)
        return this;
    }
}
a.b(1).c(2).d(3);
// 1
// 2
// 3
// Object {}

链式调用
指向的是当前对象


on显然是对象的方法,那么这里的this指向的就是这个对象.
另外建议你多了解下JavaScript里面的this关键字,这是基础

方便链式调用

比如obj.foo().bar().baz()


jQuery链式调用

【热门文章】
【热门文章】