码迷,mamicode.com
首页 > 其他好文 > 详细

引用类型和值类型

时间:2017-07-04 11:06:35      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:number   代码   nbsp   als   图片   null   boolean   undefined   java   

javascript中一切都是对象(引用类型),除了这几个类型的字面量(值类型):Boolean(如:true)、Number(如:100)、undefined、null。

注意:值类型==引用类型,引用类型会先转化一次

 var date1 = new Date(2013,1,1);
 var date2 = new Date(2013,1,1);
 date1 == date2;  //执行结果为false
 date1 === date2;  //执行结果为false

 var num1 = new Number(10);
 var num2 = new Number(10);
 num1 == num2;  //执行结果为false
 num1 === num2;  //执行结果为false
 num1 == 10;  //执行结果为true
 10 == num2;  //执行结果为true
 num1 === 10;  //执行结果为false
 10 === num2;  //执行结果为false之所以要写这个主题,是因为日期类型的比较经常会出现意想不到的错误,几乎每个刚接触javascript的开发人员都会遇到这个问题。

到底是为什么规则1javascript中一切都是对象(引用类型),除了这几个类型的字面量(值类型):Boolean(如:true)、Number(如:100)、undefined、null。

规则2引用类型之间用"=="或“===”做比较运算时,只要两者不是指向同一份内存地址,都会返回false。

代码示例1 var date1 = new Date(2013,1,1);

 var date2 = new Date(2013,1,1);
 date1 == date2;  //执行结果为false
 date1 === date2;  //执行结果为false图片示意

引用类型和值类型

标签:number   代码   nbsp   als   图片   null   boolean   undefined   java   

原文地址:http://www.cnblogs.com/powerixiao/p/7115212.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!