gpt4 book ai didi

javascript - 为什么在这个严格模式代码中仍然定义了window?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:02:51 27 4
gpt4 key购买 nike

"use strict";

setTimeout(function() {"use strict";console.log(this)}, 1000);

setTimeout调用的函数内部的'this'应该是指全局对象,但我也有“use strict”;在 body 里。然而它记录窗口而不是未定义的,这是我所期待的。这里发生了什么?

最佳答案

setTimeout is defined作为调用函数,它在 window 的上下文中传递。

the object on which the method for which the algorithm is running is implemented (a Window or WorkerGlobalScope object) as the method context,

这类似于调用 yourfunction.apply(window) 而不是 yourfunction()

关于javascript - 为什么在这个严格模式代码中仍然定义了window?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21957030/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com