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
调用了该函数。