tips null和undefined的区别
tips null和undefined的区别
1、undefined类型
undefined类型只有一个值,即特殊的undefined。在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined,例如:
var demo;
alert(demo == undefined);//true
这个例子只声明了变量,但未进行初始化。它的结果和下面的例子是等价的。
var demo = undefined;
alert(demo == undefined);//true
注意:字面值undefined主要用于比较
但是,包含undefined和尚未定义的变量还是不一样的。比如:
alert(age); //产生错误age is not defined
下面我们用typeof操作符来进行下面的操作:
var test;
console.log(typeof test);//undefined
console.log(typeof age);//undefined
结果表明,对未初始化和未声明的变量执行typeof操作都会返回undefined值。那么可以推导出,当typeof操作符返回undefined时,那么说明被检测的变量还没被声明。
扩展:undefined的类型转换
console.log(Boolean(undefined)); //false
console.log(Number(undefined)); //NaN
console.log(String(undefined)); //undefined
undefined的类型鉴别
console.log(typeof undefined); //undefined
console.log(typeof 'undefined'); //string
注意:undefined不是关键字
2、null类型
null类型是第二个只有一个值的数据类型。从逻辑角度看,null值表示一个空的指针对象(这个的具体了解见对象的原型),而这也正式使用typeof操作符检测null时,会返回object的原因。
var a= null;
console.log(typeof a);//object
到这里,我们该注意:null是空的对象指针,而[]是空数组,{}是空对象,三者不同。
扩展:null的类型转换
console.log(Boolean(null)); //false
console.log(Number(null)); //0
console.log(String(null)); //null
null的类型鉴别
console.log(typeof null); //object
console.log(typeof 'null'); //string
由于null是null是空的对象指针,我们仅仅用typeof操作符还不行
console.log(null === null);//true,判断一个值是否为null的最好方法是和null进行恒等比较
console.log(undefined === null);//false
console.log('null' === null);//false
console.log(undefined === undefined);//true
console.log('undefined' === undefined);//false
注意:null是关键字
3、理解
null是一个表示“无”的对象,转为数值时为0;undefined表示“无”的原始值,转化为数值时为NaN。
tips null和undefined的区别的更多相关文章
- 字符串怎么换行 || 字符串中使用单引号时应该怎么写 || 保留两位小数 || 数字0在if中的意思是false || 什么情况下会会报undefined || null和undefined的区别 ||
换行的字符串 "This string\nhas two lines" 字符串中使用单引号时应该怎么写 'You\'re right, it can\'t be a quote' ...
- JS中null与undefined的区别
1.typeof操作符 用来检测变量的数据类型 例:typeof 3.14 //返回number typeof [1,2,3] //返回object 2.null 只有一个值的特殊类型,表示一个空对 ...
- js操作css样式,null和undefined的区别?
1.js操作css的样式 div.style.width="100px"在div标签内我们添加了一个style属性,并设定了width值.这种写法会给标签带来大量的style属性, ...
- 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂
浅谈JS中的!=.== .!==.===的用法和区别 var num = 1; var str = '1'; var test = 1; test == num //tr ...
- json,js中typeof用法详细介绍及NaN、 null 及 undefined 的区别
JSON.parse(jsonstr); //可以将json字符串转换成json对象 JSON.stringify(jsonobj); //可以将json对象转换成json对符串 在js使用中的一个函 ...
- null和undefined的区别、数组和伪数组的区别
null和undefined的区别 undefined: 字面意思是未定义的值,语义是希望表示一个变量最原始的状态,而非人为操作的结果.这种原始状态会在以下四个场景中出现: 声明了一个变量但没有赋值 ...
- 浅谈js中null和undefined的区别
在JS中,null和undefined是经常让人摸不着头脑的东西,尤其是在数据初始化以及处理的过程中,经常稍微不注意,就会让页面在渲染时出现报错,下面来细说下,这两者之间的区别: null 表示一个对 ...
- JavaScript null和undefined的区别
前言 1995年javascript诞生时,最初像Java一样,只设置了null作为表示"无"的值.根据C语言的传统,null被设计成可以自动转为0 但是,javascript的设 ...
- JavaScript中Null和Undefined的区别
Null: null是js中的关键字,表示空值,null可以看作是object的一个特殊的值,如果一个object值为空,表示这个对象不是有效对象. Undefined: undefined不是js中 ...
随机推荐
- C# 动态修改dll的签名 以及修改引用该dll文件的签名
在读取RedisSessionStateProvider配置 提到用mono ceil 来修改程序集以及它的签名,里面GetPublicKey 和GetPubliKeyToken 方法里面那个字符串的 ...
- Meanshift filter实现简单图片的卡通化效果
利用Meanshift filter和canny边缘检测的效果,可以实现简单的图片的卡通化效果.简单的说,就是用Meanshift filter的结果减去canny算法的结果得到卡通化的效果. ...
- 实施vertex compression所遇到的各种问题和解决办法
关于顶点压缩,好处是可以减少带宽,一定程度提高加载速度,可以提高约5-10%的fps,特别是mobile上,简单描述就是: 压缩之前(32字节) position float3 12normal fl ...
- halcon中variation_model_single实例注释.
* This example shows how to employ the new extensions of HALCON's variation model operators* to perf ...
- IDE、SATA、SCSI、SAS、FC、SSD硬盘类型介绍[zz]
目前所能见到的硬盘接口类型主要有IDE.SATA.SCSI.SAS.FC等等. IDE是俗称的并口,SATA是俗称的串口,这两种硬盘是个人电脑和低端服务器常见的硬盘.SCSI是"小型计算机系 ...
- CentOS 伪装安装TSA for DB2
DB2 HADR需要额外安装TSA,正常情况下CentOS无法通过安装前验证.会报一个说发行版不支持的错误. 可以通过伪装成RHEL的方式使得正常安装. 修改方式如下 修改/etc/system-re ...
- Intellij Idea 15 旗舰版 破解
转自:http://my.oschina.net/nyp/blog/533991(良心呀,真的好使) 注册方法: 注册码可以沿用14的,只是在 注册时选择 License server ,填 ht ...
- A CIRCULAR PROGRESSBAR STYLE USING AN ATTACHED VIEWMODEL
This blog post describes how to re-template the Silverlight ProgressBar control to render a circular ...
- 804 pretest 解题
Answers with Explanations 1. c) s1 and s2 not equal s1 and s3 equal JVM sets a constant pool in whic ...
- 查看macbook是多少位
Prince-2:~ snowinmay$ uname -aDarwin Prince-2.local 12.5.0 Darwin Kernel Version 12.5.0: Sun Sep 29 ...