首页 > 移动平台 > 详细

js中当call或者apply传入的第一个参数是null/undefined时,js函数内执行的上下文环境是什么?

时间:2019-12-20 14:48:55      阅读:259      评论:0      收藏:0      [点我收藏+]

在js中我们都知道call/apply,还有比较少用的bind;传入的第一个参数都是改变函数当前上下文对象;

call/apply区别在于传的参数不同,一个是已逗号分隔字符串,一个以数组形式。而bind和call几乎没差别只是将值返回。

可是当我们将null/undefined作为值传进去的时候呢?居然得到的是window,当前js运行环境的全局对象。

技术分享图片

 这其实在es5中就有解释的:传入null/undefined的时候将执行js全局对象浏览器中是window,其他环境是global。这样就解释得通了。

技术分享图片

参考:https://www.cnblogs.com/leungUwah/p/6014079.html

参考:https://www.cnblogs.com/snandy/archive/2012/03/01/2373243.html

js中当call或者apply传入的第一个参数是null/undefined时,js函数内执行的上下文环境是什么?

原文:https://www.cnblogs.com/memphis-f/p/12072915.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!