gpt4 book ai didi

javascript - 为什么两个 'this'不一样?

转载 作者:行者123 更新时间:2023-11-28 13:49:15 26 4
gpt4 key购买 nike

var arrayfunc = [function(){return this;}];
var func = arrayfunc[0];
arrayfunc[0](); //[function (){return this;}]
func(); //Window

我不知道为什么this不一样?你帮我吗?

最佳答案

只需考虑如下:

arrayfunc[0](); // this refer to arrayfunc
window['func'](); // this refer to window

即使通过arrayfunc[0] === func返回true,调用者也是不同的。

arrayfunc[0]();通过对象arrayfunc调用函数,

window['func']();通过对象window调用函数。

关于javascript - 为什么两个 'this'不一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11965779/

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