V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
wangjialin
V2EX  ›  JavaScript

关于 bind 和 call 的疑问

  •  
  •   wangjialin · 2017-01-09 17:59:26 +08:00 · 2289 次点击
    这是一个创建于 2877 天前的主题,其中的信息可能已经有所发展或是发生改变。

    func.bind(a).call(b) 问题出在哪儿 是因为 bind 不立即执行么 求指教

    截图在这 http://7xsw2u.com1.z0.glb.clouddn.com/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202017-01-09%20%E4%B8%8B%E5%8D%885.50.54.png

    14 条回复    2017-01-21 08:35:27 +08:00
    zhaixiaohu
        1
    zhaixiaohu  
       2017-01-09 18:44:39 +08:00
    五迷?
    fds
        2
    fds  
       2017-01-09 18:50:44 +08:00   ❤️ 1
    截图里 a 已经是结果了呀,你还 call 啥?另外你这么用 bind 根本无效呀,何必呢……
    cbais7890
        3
    cbais7890  
       2017-01-09 18:51:14 +08:00
    bind 传一个 context 进去, 返回一个改变了 context 的新函数
    call/apply 传 context 和一个或多个参数进去, 然后执行这个函数
    Neytoph
        4
    Neytoph  
       2017-01-09 18:51:37 +08:00
    @zhaixiaohu (举手)这有个五迷!
    wangjialin
        5
    wangjialin  
    OP
       2017-01-09 19:04:43 +08:00
    @zhaixiaohu 是啊 刚把自己的头像恢复过来就被认出来

    @fds

    @cbais7890 我傻了哈哈 a 本来就返回结果了 为什么这里函数 this 是指向 obj 的呢
    haozhang
        6
    haozhang  
       2017-01-09 19:42:25 +08:00 via iPhone   ❤️ 1
    func.bind 之后 this 已被确定,再次调用 call 或者 apply 妄图改变绑定的 this 都会无效
    wangjialin
        7
    wangjialin  
    OP
       2017-01-09 22:29:02 +08:00
    @haozhang 蟹蟹 我又重新认识了
    gleox
        8
    gleox  
       2017-01-09 22:58:55 +08:00
    zhaixiaohu
        9
    zhaixiaohu  
       2017-01-10 10:01:47 +08:00
    @Neytoph v 站五迷群: 5143163 ,来群一起玩啊
    zhaixiaohu
        10
    zhaixiaohu  
       2017-01-10 10:02:07 +08:00
    @wangjialin v 站五迷群: 5143163 ,来群一起玩啊,都是码农五迷
    Neytoph
        11
    Neytoph  
       2017-01-10 10:06:39 +08:00
    @zhaixiaohu 已加!
    fds
        12
    fds  
       2017-01-10 11:49:59 +08:00
    @wangjialin 啊,我说错了, bind 是有用的。 f.bind(a).call(b) 这里 call 能改变 bind 返回的函数的 this 为 b ,但 bind 里面包的函数 f 的 this 已经指定为 a 了,不能改了。
    wangjialin
        13
    wangjialin  
    OP
       2017-01-10 12:36:43 +08:00
    @fds 我原意就是想问 this 指向 应该还指向 a
    fhc023
        14
    fhc023  
       2017-01-21 08:35:27 +08:00 via iPhone
    推荐你把这本书的中间几章啃一遍 https://book.douban.com/subject/3590768/ 能看英文就看英文吧 恩
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   997 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 21:09 · PVG 05:09 · LAX 13:09 · JFK 16:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.