如果函数处在非严格模式下,且thisArg的值为null或者undefined,则调用时函数内部的this指向window对象

执行以下程序,输出结果为()

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


__EOF__

本文作者龙陌
本文链接https://www.cnblogs.com/longmo666/p/17828242.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   龙陌  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示