javascript 中not defined 和undefined有什么区别

Posted 不积跬步无以至千里不积小流无以成江海

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 中not defined 和undefined有什么区别相关的知识,希望对你有一定的参考价值。

概念上的解释:
undefined是javascript语言中定义的五个原始类中的一个,换句话说,undefined并不是程序报错,而是程序允许的一个值。
not defined是javascript在运行我们的javascript代码时,遇到没有定义就用来运算的变量时爆出来的错误。
那么问题来了:在许多的javascript教程中都介绍有javascript变量即使不定义也可以直接拿来使用,但是请注意,这个使用是指可以被赋值,但是不可以被运算。看一个例子

var temp;
temp2 = 123;
alert(temp2);
temp3 = temp4+1;
alert(temp3);

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

var temp;
alert(temp);
alert(typeof temp);
alert(typeof temp2);
alert(temp==undefined);
alert(temp2==undefined);

在这个示例中:
第一个、第二个和第三个alert可以弹出提示undefined;但其实这三个undefined的含义是不一样的。在javascript中,undefined是一个类,这个类只有一个值就是undefined,第一个alert弹出的就是值undefined,第二个和第三个弹出的是undefined这个类名。
第四个alert会弹出true,这是一个判断。
第五个alert不会弹出,因为报错了。这里爆出的错误就是因为使用了没有定义的变量进行运算。爆出的错误是temp2 is not defined;(不同的浏览器可能说法不同)
























以上是关于javascript 中not defined 和undefined有什么区别的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript-错误之:Uncaught ReferenceError: $ is not defined

javascript中的undefined与is not defined

JavaScript-函数报Uncaught ReferenceError: XX is not defined

JavaScript Uncaught ReferenceError: jQuery is not defined;未捕获的 ReferenceError:$ 未定义 [重复]

jQuery未定义错误原因(jQuery is not define)

ReferenceError: $ is not defined yii2