如何处理JavaScript中未定义的值

如何处理JavaScript中未定义的值,javascript,Javascript,如何处理JavaScript中未定义的值 if (oldins == ins) 未定义oldins 如何检查此项?未设置的变量将计算为“未定义”的值“undefined”是一种类似null和NaN的值类型,因此它应该是: if ((typeof(oldins) !== "undefined") && (oldins === ins)) if ( typeof(oldins) == 'undefined' ) 编辑:固定每评论。保留答案,因为注释是有帮助的,但是有更多正确的答

如何处理JavaScript中未定义的值

if (oldins == ins)
未定义
oldins


如何检查此项?

未设置的变量将计算为“未定义”的值“undefined”是一种类似null和NaN的值类型,因此它应该是:

if ((typeof(oldins) !== "undefined") && (oldins === ins))
if ( typeof(oldins) == 'undefined' )

编辑:固定每评论。保留答案,因为注释是有帮助的,但是有更多正确的答案。

您可能还想使用严格的相等运算符,嗯
未定义的
null
NaN
不完全一样-它只是一个标识符,可以重新分配!如果从未声明过
oldins
,则会出现错误。改为使用
typeof
。@Pointy:实际上,
NaN
也是一个变量,就像
Infinity
一样-两者都可以重新赋值
null
是其中唯一的真关键字。@casablanca哇真的吗?好吧,在我输入了那个评论之后,我打算试试那个些,但我分心了,所以谢谢+1.谢谢你的回答。顺便说一句,在
typeof
检查中,不需要在
oldins
周围加括号:
typeof
是一个运算符,而不是一个函数。如果从未声明过
oldins
,则会出现错误。改用
typeof
if (oldins !== undefined && oldins === ins) {

}