JavaScript中只声明但没有初始化的变量和未声明的变量以及null/undefined的区分

只声明但没有初始化的变量和未声明的变量以及null/undefined的辨别

1. 声明但没有初始化的变量

var aa;
alert(aa);

浏览器会弹出窗口显现 undefined.

由于关于运用了 var 声明但没有举行初始化定义的变量, 其值默以为 undefined.

2. 未声明的变量(1)

alert(aa);

浏览器不会弹出任何东西. 由于 aa 是没有声明的变量.
翻开 chrome 浏览器的控制台会看到报错以下:
《JavaScript中只声明但没有初始化的变量和未声明的变量以及null/undefined的区分》

3. 未声明的变量(2)

alert(typeof aa);

浏览器会弹出窗口显现 undefined.

关于没有声明的变量, 只能实行一种操纵(alert(aa) 就是毛病的) . 就是运用 typeof 操纵符磨练它的范例. 它的范例和声明但没有举行初始化的变量的范例一样, 都是 undefined.

总结: 已声明然则没有初始化的变量的值为undefined. 而未声明的变量虽然用 typeof 操纵符效果为 undefined, 然则并没有值.

4. null 和 undefined 的辨别

null 是一个空的对象援用.
undefined 是声明但没有被赋值的变量.
应用这两个就能够辨别空对象指针和未经初始化的变量.

然则: 注重
alert(undefined == null); // 返回 true

undefined 值是派生自 null 值的. 所以关于它们的相称性测试, 返回 true

    原文作者:VRAIN
    原文地址: https://segmentfault.com/a/1190000005347643
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞