undefined,defined,null,NaN区别
2020-08-05 本文已影响0人
MISS_3ca2
<script>
var b = document.getElementById("main");
console.log(b)
// 打印null
// 上面的代码中如果实际上没有id为main的元素,a则是null,所以null是真正不存在的东西。
// 另外null是一个只有一个值的特殊类型。表示一个空对象引用,用typeof检测返回是object。
// 第二种的undefined是派生自null,所以有undefined==null。
var c;
console.log(c*2)
//打印NaN
// NaN是"Not a Number " 的简写,从字面上看为不是数字的意思,当运算无法返回正确的数值时,就会返回NaN值。
// 也可以理解一下W3C给出的定义和用法:NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。
// null是一种特殊的object;NaN是一种特殊的number。
console.log(q)
var q = 1;
//打印undefined 变量提升
//JavaScript 中,函数及变量的声明都将被提升到函数的最顶部。
//JavaScript 中,变量可以在使用后声明,也就是变量可以先使用再声明。
console.log(a)
//打印a is not defined
//undefined 和defined区别
//not defined 是指根本就没有定义,程序运行出现错误。
//undefined 定义了一个变量,但是没有赋值,所以程序运行出现错误
var b = document.getElementById("main");
console.log(b)
</script>