gpt4 book ai didi

JavaScript 缺少自身变量的上下文

转载 作者:行者123 更新时间:2023-11-30 15:34:06 25 4
gpt4 key购买 nike

这是 JavaScript 的神秘行为。是我的使用错误还是一些错误?

JavaScript 代码

function test(){

var self = this;

self.func1 = function(){
debugger; // here self == Window
}
debugger; //here self == test func
self.func1();
}

var t = new test();

我提供了JSfiddle,你可以自己试试:

https://jsfiddle.net/stanislavmachel/f44zbvvr/8/

有人可以解释为什么自变量的上下文在调用后未命中吗?

最佳答案

这不是错误,您只是错误地读取了调试器。

JS 引擎注意到函数 func1 没有使用变量 self 所以作为优化措施它 doesn't include it in the context object .您在调试器中看到的是 global self .

如果您在函数中使用 self 变量,例如console.log(self),您还会在调试器的关闭列表中看到它。参见 https://jsfiddle.net/f44zbvvr/9/ .

关于JavaScript 缺少自身变量的上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41837343/

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