1 + undefined = ?
出了什么问题?
我在chrome控制台中运行它,它返回NaN
。
你能解释一下结果吗?
我认为它应该是“1 undefined”。 TKS
答案 0 :(得分:10)
NaN
是Number
操作失败的结果。
1 + undefined // NaN
"1" + undefined // "1undefined"
1 + "" + undefined // "1undefined"
1 + ("" + undefined) // "1undefined"
typeof NaN // "number"
typeof undefined // "undefined"
NaN === NaN // false (it's not reflexive!)
undefined === undefined // true (it's reflexive)
NaN.toString() // "NaN"
NaN
表示非数字,其中包含预期的数字。使用NaN
的任何数字操作也会产生NaN
。
答案 1 :(得分:0)
1 + undefined = NaN
执行1 + "undefined"
时,将1连接到字符串"undefined"
,从而产生字符串"1undefined"
undefined在其他语言中没有或者像Null一样(未设置变量)
在Javascript中,null是一个值的预期absense(设置为null),undefined是一个意外的值(从未设置)
你想要完成什么?
答案 2 :(得分:0)
您希望字符串连接,但只有在您至少有一个字符串时才会发生这种情况。在你的例子中,没有什么是字符串。 1
不是字符串,undefined
不是字符串。