Javascript 同时对变量执行Null和未定义检查
我有如下JavaScript方法Javascript 同时对变量执行Null和未定义检查,javascript,Javascript,我有如下JavaScript方法 function showMsg(id) { if(id==null && id== undefined) //doing some task } 此showMsg(id)是从不同的事件调用的,id具有一些值,但onLoad事件不需要任何参数,因此我在onLoad事件上调用此方法,如下所示 function onLoading(){ showMsg(null); } 在Java脚本中,如果我们声明了一个变量,并且没有给它赋值,那
function showMsg(id) {
if(id==null && id== undefined)
//doing some task
}
此showMsg(id)
是从不同的事件调用的,id
具有一些值,但onLoad
事件不需要任何参数,因此我在onLoad
事件上调用此方法,如下所示
function onLoading(){
showMsg(null);
}
在Java脚本中,如果我们声明了一个变量,并且没有给它赋值,那么它将是未定义的
我的问题是,是否有任何情况下,if(id==null&&id==undefined)
在被调用为showMsg(null)时将为false代码>来自onload()
方法
它是否会导致任何性能问题,以及使用这种检查的利弊
任何帮助建议都必须提前告知,谢谢。如果(var!=null)
使用
=
将进行两项检查:if notundefined
和notnull
“ifid
为null
和undefined
”?同时?永远不会是这样。它只是碰巧起作用,因为您使用的是松散的=
比较,它匹配所有错误的值。你也可以只做!相同结果的id
。如果你真的只想检查null
和undefined
,特别是如果我像showMsg(null)那样打电话,你必须做id==null | | id==undefined
@deceze;在本用例中,如果(id==null&&id==undefined)变为false,条件是否会变为false?@deceze==
如果变量不存在,则可能会中断,他必须使用typeof
@Mr.Alien,因为id
被定义为函数参数,它将存在。只有它的值是未定义的
@deceze足够公平。。只是说不管他的代码。。只是跟标题一起…也检查一下这个:还有这个