undefined 和 not defined

概念上的解释:

undefined是javascript语言中定义的五个原始类中的一个,换句话说,undefined并不是程序报错,而是程序允许的一个值。

not defined是javascript在运行我们的javascript代码时,遇到没有定义就用来运算的变量时爆出来的错误。

那么问题来了:在许多的javascript教程中都介绍有javascript变量即使不定义也可以直接拿来使用,但是请注意,这个使用是指可以被赋值,但是不可以被运算。看一个例子

1 var temp;
2 temp2 = 123;
3 alert(temp2);
4 temp3 = temp4+1;
5 alert(temp3);

在上面的代码中,第一个alert可以正常弹窗为123;但是第二个alert是不会执行的,因为使用了没有定义的temp4来运算,这是不允许的。

此外注意:

任何数据类型和undefined运算都是NaN;

原文地址:https://www.cnblogs.com/my12-28/p/11738929.html