Javascript 理解未定义为参数

Javascript 理解未定义为参数,javascript,Javascript,我看到javascript库设置如下: (function (global, undefined) { //.. })(this) 在此上下文中,未定义的的含义是什么?在较旧的浏览器中,它不是不可变或不可写的。将undefined设置为未使用函数参数的名称意味着该参数未定义,即使它设置在更高的范围内 // Old browser undefined = 1; undefined; // 1 // Modern browser undefined = 1; undef

我看到javascript库设置如下:

   (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