这样,JavaScript函数是否可以分别视为执行上下文? [重复]

问题描述 投票:0回答:1
[在下面的示例中,为什么作为方法分配给具有标识符outer的对象属性的函数meth没有在this函数中为inner的执行上下文?

由于分配给outer的函数meth似乎会自动将设置为周围对象的this关键字作为执行上下文,因此您可以假定函数inner的处理方式相同,或者是因为周围的函数不能被视为执行上下文,所以JavaScript不知道函数inner处于哪个执行上下文,因此它假定默认值是window

var foo = { meth: function outer() { console.log(this); // let that = this; function inner() { console.log(this); } inner(); } };

//Output
{meth: ƒ}
Window {parent: Window, opener: null, top: Window, length: 0, frames: Window, …}
预先感谢您揭开神秘面纱    
javascript function this executioncontext
1个回答
1
投票
当您看到此代码时:
© www.soinside.com 2019 - 2024. All rights reserved.