在javascript中有什么区别
undefined == variable
和variable == undefined
都是一样的吗?如果我undefined === variable
或typeof variable == 'undefined'
会有什么不同?
有人可以帮助我吗
答案 0 :(得分:1)
当谈到你提到的不同部件顺序时,意义没有区别。
===
是严格比较,==
不是。例如undefined == false
为真,但undefined === false
不是。检查未定义的类型与此情况下的严格比较类似。
答案 1 :(得分:1)
不要使用undefined
来测试未定义的变量,而是使用typeof运算符!
undefined
不是javascript关键字,它只是一个变量名称。如果有人将var undefined = true
全局写入代码中的任何位置,那么所有比较都会出现意外情况。
您应该考虑使用JSLINT或JSHINT之类的东西来避免javascript代码中的这类错误。
除此之外,我总是首先编写比较参数,因为这是我读它的方式。
这就是为什么If the variable foo is undefined than
应该写成if (typeof foo === "undefined")
我不记得这个模式的名称,但我很确定有一个:)
答案 2 :(得分:0)
undefined == variable
和variable == undefined
是相同的。
但如果您错过undefined == variable
(=
),我建议您variable = undefined
以防止出现异常行为。
undefined === variable
和typeof variable == 'undefined'
也应该相同。