JavaScript-未定义作为参数*名称*传入?

JavaScript-未定义作为参数*名称*传入?,javascript,Javascript,我刚刚遇到一个函数,它接受一个名为“undefined”的参数。是这样的: (function($,undefined) { // Do something })(jQuery); 要么我疯了,要么这里也没有逻辑上的原因,嗯,未定义就是未定义就是未定义。有人能确认一下吗?谢谢。这是检查未定义的变量的经典技巧,通常是: if(someVar==未定义){ //而不是: if(typeof someVar=='undefined'){ 请注意,包装器IIFE不传递任何第二个参数,使得un

我刚刚遇到一个函数,它接受一个名为“undefined”的参数。是这样的:

(function($,undefined) {
    // Do something
})(jQuery);

要么我疯了,要么这里也没有逻辑上的原因,嗯,未定义就是未定义就是未定义。有人能确认一下吗?谢谢。

这是检查
未定义的
变量的经典技巧,通常是:

if(someVar==未定义){
//而不是:
if(typeof someVar=='undefined'){

请注意,包装器IIFE不传递任何第二个参数,使得
undefined
参数有效地
undefined

使用
if(typeof someVar==='undefined'){
?只需输入更长的字符,通常不会被JS缩略器缩短。@ghybs不能更改
未定义的
的值,这就是为什么
如果偶尔建议使用(typeof someVar=='undefined'){}
。@dimwittedanimal是
未定义的
是可修改的。上面的技巧屏蔽了这一点,因为它使用了一个局部作用域变量
如果偶尔不建议使用(typeof somVar==='undefined'){}
,则它是检查这一点的主要方法。但是,只要你采取一些预防措施,你就有很多方法可以达到同样的效果。@ghybs谢谢!错过/忘记了它是一个本地变量。感谢所有人的回答并指出它是重复的-对此表示抱歉。最初我进行了一次搜索,但在调用函数时只找到了未定义的传入。