javascript - 在js中关于return this的问题
阿神
阿神 2017-04-11 10:57:39
[JavaScript讨论组]
on: function(event, fn) {
    var handles = this._handles || (this._handles = {}),
      calls = handles[event] || (handles[event] = []);

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

    return this;
  }

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

阿神
阿神

闭关修行中......

全部回复(5)
伊谢尔伦

如果你知道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 {}
伊谢尔伦

方便链式调用

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

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

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

大家讲道理

jQuery链式调用

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号