栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用(function(window,document,undefined){…})(window,document)有什么好处?[重复]

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用(function(window,document,undefined){…})(window,document)有什么好处?[重复]

为什么要输入窗口和文档而不是正常访问?

通常,为了加快标识符解析过程的速度,将它们用作局部变量可能会有所帮助(尽管IMO的性能改进可能微不足道)。

在非浏览器环境中,传递全局对象也是一种广泛使用的技术,在该环境中,您

window
在全局范围内没有标识符,例如:

(function (global) {  //..})(this); // this on the global execution context is// the global object itself

为什么未定义的heck被传入?

这样做是因为

undefined
ECMAscript 3中的global属性是可变的,这意味着有人可以更改其值来影响您的代码,例如:

undefined = true; // mutable(function (undefined) {  alert(typeof undefined); // "undefined", the local identifier})(); // <-- no value passed, undefined by default

如果您仔细查看

undefined
实际上没有被传递(函数调用中没有参数),那是
undefined
不使用property
即可获取值的可靠方法之一
window.undefined

这个名字

undefined
在Javascript并不代表什么特别的,是不是像一个关键字
true
false
等等…,它只是一个标识符。

仅作记录,在ECMAscript 5中,此属性被设为不可写…

将我们正在创建的对象直接附加到窗口是否是一个特别好的主意?

当您在另一个函数范围内时,这是一种用于声明全局属性的常用方法。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/464626.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号