Javascript中undefined和not defined有什么区别?
概念上的解释:
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有什么区别?相关推荐
- JavaScript中undefined详解
目录 一.前言 二.undefined的特点 1.undefined既是JavaScript中的原始数据类型之一,也是一个原始值数据 2.undefined是全局对象上的一个属性 3.undefine ...
- html5有foreach吗,JavaScript中的map()和forEach()有什么区别?
来源:https://medium.com/better-programming,作者:Moon,翻译:公众号<前端全栈开发者> JavaScript中一些最受欢迎的功能可能是map和fo ...
- java两字符串是否相等_Java与JavaScript中判断两字符串是否相等的区别
JavaScript是一种常用的脚本语言,这也决定了其相对于其他编程语言显得并不是很规范.在JavaScript中判断两字符串是否相等 直接用==,这与C++里的String类一样.而Java里的等号 ...
- JavaScript中的name和classname有什么区别
JavaScript 中的 name 和 className 有如下区别: name 属性通常用于表示 HTML 元素的名称,如表单元素中的 input 元素.它可以用于给服务器发送数据. class ...
- Javascript中undefined,NaN等特殊比较
以下内容转自: http://blog.csdn.net/hongweigg/article/details/38090093 1.问题:在Javascript中,typeof(undefined) ...
- JavaScript中var、let和const的区别
一.前言 在ES6(ES2015)出现之前,JavaScript中声明变量就只有通过 var 关键字,函数声明是通过 function 关键字,而在ES6之后,声明的方式有 var . let . c ...
- JavaScript中的数组与伪数组的区别
在JavaScript中,除了5种原始数据类型之外,其他所有的都是对象,包括函数(Function). 基本数据类型:String,boolean,Number,Undefined, Null 引用数 ...
- [译]JavaScript中的属性:定义和赋值的区别
原文:http://www.2ality.com/2012/08/property-definition-assignment.html 你知道吗?定义一个属性和为一个属性赋值是有区别的.本文解释了两 ...
- JavaScript中基本数据类型和引用数据类型的区别
1.基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型. 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象. 当我们把变量赋值给一个变 ...
最新文章
- C3P0_and_pro.properties配置文档代码
- 关于域用户的离线缓存登录知识分享
- python开发工具排名-Python程序员必备的四款开发工具
- 二、SpringMVC 注解式开发学习笔记
- 外卖餐饮点餐系统,连锁餐饮,公众号小程序源码2.1.5
- sklearn之线性回归和梯度下降
- Poj(2225),三维BFS
- python画简便的图-python如何画出漂亮的地图?网友:教教我呗
- 探究京东商城的数据建模
- spring源码解析百度网盘下载
- Graph_Master(连通分量_D_Trajan缩点+dfs)
- Vue3 小菠萝 Pinia使用
- Flash影片剪辑的属性、深度及动态控制
- RJ11电话线水晶头制作方法(图解)
- php eclipse aptana,Eclipse安装Aptana插件(注意对应版本问题)
- 刺激战场极寒模式到底有多疼?掌握这些攻略帮你活到最后
- 网线直接插电脑能上网 接路由器就连不上了
- excel表格数据库表字段带下划线转驼峰
- Python之axis函数
- 关注灾情,心系九寨18