首页 > 其他 > 详细

引用类型和值类型

时间:2017-07-04 10:28:13      阅读:269      评论:0      收藏:0      [点我收藏+]

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图片示意

引用类型和值类型

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!