V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yustation
V2EX  ›  微信

向各位请教一个关于 setTimeout 的 js 语法基础问题(微信小程序)

  •  
  •   yustation · 2021-11-16 00:33:30 +08:00 · 931 次点击
    这是一个创建于 1103 天前的主题,其中的信息可能已经有所发展或是发生改变。

    像这样的两次 setTimeout ,我不理解的是第二次为什么回调函数明明不是箭头函数,为什么 this 反而“正确”地指向了我们所需要的 this 。在浏览器控制台或是 node 上等价的写法的话,似乎又两次调用 setTimeout 都打印出 undefined (这就符合我对 this 的认知了),但为什么在小程序上又会这样表现呢?是不是同小程序的运行环境有关呢?向各位前辈诚恳请教。 Snipaste_2021-11-16_00-20-03.jpg

    6 条回复    2021-11-16 14:33:38 +08:00
    lalalaqwer
        1
    lalalaqwer  
       2021-11-16 00:52:33 +08:00   ❤️ 1
    这个应该是小程序的框架对 page 中配置的函数进行了 this 绑定吧
    Cbdy
        2
    Cbdy  
       2021-11-16 08:45:28 +08:00
    因为微信小程序吧
    yustation
        3
    yustation  
    OP
       2021-11-16 10:56:40 +08:00 via Android
    @lalalaqwer 这样啊,了解了,感谢指教
    yustation
        4
    yustation  
    OP
       2021-11-16 10:56:56 +08:00 via Android
    @Cbdy 懂了,谢谢你
    sjhhjx0122
        5
    sjhhjx0122  
       2021-11-16 13:47:06 +08:00
    要理解魔法~ ,vue option api 也是这样的内部帮你做了绑定
    yustation
        6
    yustation  
    OP
       2021-11-16 14:33:38 +08:00
    @sjhhjx0122 哈哈,基础不牢,慢慢学习中
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2841 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 13:48 · PVG 21:48 · LAX 05:48 · JFK 08:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.