概念上的解释:

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中undefined和not defined有什么区别?相关推荐

  1. JavaScript中undefined详解

    目录 一.前言 二.undefined的特点 1.undefined既是JavaScript中的原始数据类型之一,也是一个原始值数据 2.undefined是全局对象上的一个属性 3.undefine ...

  2. html5有foreach吗,JavaScript中的map()和forEach()有什么区别?

    来源:https://medium.com/better-programming,作者:Moon,翻译:公众号<前端全栈开发者> JavaScript中一些最受欢迎的功能可能是map和fo ...

  3. java两字符串是否相等_Java与JavaScript中判断两字符串是否相等的区别

    JavaScript是一种常用的脚本语言,这也决定了其相对于其他编程语言显得并不是很规范.在JavaScript中判断两字符串是否相等 直接用==,这与C++里的String类一样.而Java里的等号 ...

  4. JavaScript中的name和classname有什么区别

    JavaScript 中的 name 和 className 有如下区别: name 属性通常用于表示 HTML 元素的名称,如表单元素中的 input 元素.它可以用于给服务器发送数据. class ...

  5. Javascript中undefined,NaN等特殊比较

    以下内容转自: http://blog.csdn.net/hongweigg/article/details/38090093 1.问题:在Javascript中,typeof(undefined) ...

  6. JavaScript中var、let和const的区别

    一.前言 在ES6(ES2015)出现之前,JavaScript中声明变量就只有通过 var 关键字,函数声明是通过 function 关键字,而在ES6之后,声明的方式有 var . let . c ...

  7. JavaScript中的数组与伪数组的区别

    在JavaScript中,除了5种原始数据类型之外,其他所有的都是对象,包括函数(Function). 基本数据类型:String,boolean,Number,Undefined, Null 引用数 ...

  8. [译]JavaScript中的属性:定义和赋值的区别

    原文:http://www.2ality.com/2012/08/property-definition-assignment.html 你知道吗?定义一个属性和为一个属性赋值是有区别的.本文解释了两 ...

  9. JavaScript中基本数据类型和引用数据类型的区别

    1.基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型. 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象. 当我们把变量赋值给一个变 ...

最新文章

  1. C3P0_and_pro.properties配置文档代码
  2. 关于域用户的离线缓存登录知识分享
  3. python开发工具排名-Python程序员必备的四款开发工具
  4. 二、SpringMVC 注解式开发学习笔记
  5. 外卖餐饮点餐系统,连锁餐饮,公众号小程序源码2.1.5
  6. sklearn之线性回归和梯度下降
  7. Poj(2225),三维BFS
  8. python画简便的图-python如何画出漂亮的地图?网友:教教我呗
  9. 探究京东商城的数据建模
  10. spring源码解析百度网盘下载
  11. Graph_Master(连通分量_D_Trajan缩点+dfs)
  12. Vue3 小菠萝 Pinia使用
  13. Flash影片剪辑的属性、深度及动态控制
  14. RJ11电话线水晶头制作方法(图解)
  15. php eclipse aptana,Eclipse安装Aptana插件(注意对应版本问题)
  16. 刺激战场极寒模式到底有多疼?掌握这些攻略帮你活到最后
  17. 网线直接插电脑能上网 接路由器就连不上了
  18. excel表格数据库表字段带下划线转驼峰
  19. Python之axis函数
  20. 关注灾情,心系九寨18

热门文章

  1. EPICS ‘makeBaseApp’ IOC
  2. Ubuntu更新源以及搜狗输入法安装
  3. 力扣第378题 有序矩阵中第K小的元素
  4. 惊闻苏州GDP总量突破2万亿大关!
  5. PN转CANopen调试案例
  6. C# TCP/UDP网络通讯调试助手(含源码)
  7. 一看就懂!任务提交的资源判断在Taier中的实践
  8. redis操作订阅和发布
  9. anaconda+pycharm安装
  10. 最新出炉,头条三面技术四面HR,看我如何一步一步攻克面试官