执行以下程序,输出结果为()
function a(){
console.log(this);
}
a.call(null);
window
function.call(thisArg,args1,args2...)可以调用函数function,并且让函数内部的this指向thisArg,同时传递args1,args2等参数。
如果函数处在非严格模式下,且thisArg的值为null或者undefined,则调用时函数内部的this指向window对象
call继承,对象冒充,因为传入是null或者undefind和没传一样,所以还是全局的window
call/apply用来改变函数的执行上下文(this),它们的第一个参数thisArg是个对象,即作为函数内的this。
有两种情况需要注意,传null或undefined时,将是JS执行环境的全局变量。浏览器中是window,其它环境(如node)则是global。
https://www.cnblogs.com/snandy/archive/2012/03/01/2373243.html