Javascript 理解未定义为参数
我看到javascript库设置如下:Javascript 理解未定义为参数,javascript,Javascript,我看到javascript库设置如下: (function (global, undefined) { //.. })(this) 在此上下文中,未定义的的含义是什么?在较旧的浏览器中,它不是不可变或不可写的。将undefined设置为未使用函数参数的名称意味着该参数未定义,即使它设置在更高的范围内 // Old browser undefined = 1; undefined; // 1 // Modern browser undefined = 1; undef
(function (global, undefined) {
//..
})(this)
在此上下文中,未定义的
的含义是什么?在较旧的浏览器中,它不是不可变或不可写的。将undefined
设置为未使用函数参数的名称意味着该参数未定义,即使它设置在更高的范围内
// Old browser
undefined = 1;
undefined; // 1
// Modern browser
undefined = 1;
undefined; // undefined
应该注意的是,不可写性仅适用于全局范围,在这两种情况下,以下情况都是正确的
(function () { // creating a new scope means..
var undefined = 1; // this is now different to the `undefined` global
return undefined; // so can be written to, e.g. set as 1
}()); // 1
在较旧的浏览器中,不是不可变或不可写的。将undefined
设置为未使用函数参数的名称意味着该参数未定义,即使它设置在更高的范围内
// Old browser
undefined = 1;
undefined; // 1
// Modern browser
undefined = 1;
undefined; // undefined
应该注意的是,不可写性仅适用于全局范围,在这两种情况下,以下情况都是正确的
(function () { // creating a new scope means..
var undefined = 1; // this is now different to the `undefined` global
return undefined; // so can be written to, e.g. set as 1
}()); // 1
将
undefined
设置为函数的一个参数,允许缩微器将其替换为一个较短的名称
例如:
(function (global, undefined) {
alert(undefined)
})(this)
可缩小为以下尺寸:
(function(a,b){alert(b)})(this)
因此,函数中所有出现的
undefined
变量都将重命名为一些短名称,如b
。无论变量名如何,它都将具有相同的值,因此将具有相同的用途。将未定义设置为函数的参数,允许缩微器用较短的名称替换它
例如:
(function (global, undefined) {
alert(undefined)
})(this)
可缩小为以下尺寸:
(function(a,b){alert(b)})(this)
因此,函数中所有出现的undefined
变量都将重命名为一些短名称,如b
。不管变量名如何,它都将具有相同的值,因此将用于相同的目的。这是一个常见问题。。。让我们寻找另一个问题作为重复结束…这是一个常见问题。。。让我们寻找另一个问题,以重复的形式结束它…你说的更短的名字是什么意思?你能给我举个例子吗?thanksA minifier可能会重新编写函数以使用u
而不是未定义的
,从而保存一些字符。有趣的是,感谢您的最新评论+1您所说的较短名称是什么意思?你能给我举个例子吗?thanksA minifier可能会重新编写函数以使用u
而不是未定义的
,从而保存一些字符。有趣的是,感谢您最近的评论+1