当我从浏览器运行时
typeof undefined
我收到了"undefined"
字符串。这就是为什么?大多数时候我检查我的变量是
if (a == 'undefined') {
do something
}
我正在检查我的变量a是否等于undefined?我不明白这一点。有人可以解释一下吗?另一种检查javascript中未定义的方法吗?
答案 0 :(得分:3)
因为这就是typeof
的工作原理:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof
if (a == undefined) { // instead its a type comparison
答案 1 :(得分:1)
答案 2 :(得分:0)
undefined
恰好是一个包含the undefined value的全局名称。
引用链接页面,
undefined是全局对象的属性,即它是全局范围内的变量 undefined的初始值是未定义的原始值。
typeof
总是返回一个字符串,描述传递给它的名称的值。
答案 3 :(得分:0)
typeof
运算符返回一个字符串,指示未评估的操作数的类型。
它会像这样改变
Undefined :"undefined"
Null :"object"
Boolean :"boolean"
Number "number"
String :"string"
Host object (provided by the JS environment) :Implementation-dependent
Function object (implements [[Call]] in ECMA-262 terms): "function"
Any other object :"object"