js undefined 相关

7 min read

1.undefined 不能在全局被修改,能在局部被修改

let undefined=9;
VM224:1 Uncaught SyntaxError: Identifier 'undefined' has already been declared
function foo(){let undefined = 0; console.log(undefined)}
undefined
foo()
VM255:1 0

2.和null的比较

Undefined 类型表示未定义,它的类型只有一个值,就是 undefined。任何变量在赋值前是 Undefined 类型、值为 undefined,一般我们可以用全局变量undefined(就是名为undefined的这个变量)来表达这个值,或者 void 运算来把任一一个表达式变成 undefined 值。

ndefined跟 null 有一定的表意差别,null表示的是:“定义了但是为空”。所以,在实际编程时,我们一般不会把变量赋值为 undefined,这样可以保证所有值为 undefined 的变量,都是从未赋值的自然状态。