码迷,mamicode.com
首页 > Web开发 > 详细

关于jquery源码中undefined作为参数的理解

时间:2016-05-11 01:12:15      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

大家先看一下,下面代码


(function (window,undefined) {
window.alert(‘zhangling‘);
var person = {};
person.addName = function () {

};
person.addAge = function () {

};
})(window)

压缩后:

(function(a,b){a.alert(‘zhangling‘);var c={};c.addName=function(){};c.addAge=function(){}})(window);

非常清晰的看到window ,undefined  已经作为局部变量被压缩了;PS:(不要用window.undefined传递给形参,有可能window.undefined被其他人修改了,最好就是甚么都不传,形参的undefined就是真正的undefined了。);
continue!
在最早的ECMAScript3中undefined 是可读可写的,可以作为变量名进行赋值操作;在ECMAScript 5 中做了修正undefined作为只读变量;
防止低端浏览器重新定义了undefined 了,

还有:在

function ($, undefined){ })(jQuery)

 
规避用户对undefined进行定义,致使函数发生异常
 
(function ($, undefined){ })(jQuery)
如果用户
 
var undefined =xiaoyan;
(function ($, undefined){ })(jQuery) //这里就可以传个undefined的形参,避免上面的定义,只要没传值进去,undefined就不会被赋值

关于jquery源码中undefined作为参数的理解

标签:

原文地址:http://www.cnblogs.com/andking/p/5479916.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!