首页 > Web开发 > 详细

js基础知识 ==操作符

时间:2017-07-30 16:31:15      阅读:212      评论:0      收藏:0      [点我收藏+]

==比较符在js中的规则:趋于数字化(不同数据类型之间的比较,排除掉obj与obj)
obj与obj之间的== 只比较栈中保存的地址值

==操作符解析①

首先把javascript中的数据类型分成两组:
1. String、Number、Boolean和Object(有)
2. Undefined和Null(无)
3. 1与2之间的比较都为false
4. Undefined和Null之间的比较为true
5. NaN 不等于 NaN

null和undefined不得不说的故事(设计者原本的意图)
假如你打算把一个变量赋予对象类型的值,但是现在还没有赋值,
那么你可以用null表示此时的状态(证据之一就是typeof null 的结果是‘object‘)
相反,假如你打算把一个变量赋予原始类型的值,但是现在还没有赋值,
那么你可以用undefined表示此时的状态。

==操作符解析②

parseInt(value)
parseFloat(value)
转换情况
字符串->只要最高位是数字则会转换成数值;否则转换成NaN
其它->NaN

Number()
转换情况
就是把字符串两边的空白字符去掉,然后把两边的引号去掉,看它能否组成一个合法的数字。
如果是,转化结果就是这个数字;否则,结果是NaN。
当然也有例外,比如空白字符串转化为数字的结果是0。

Boolean:true==>1
false==>0
Null==>0
Undefined==>NaN
Object==>NaN

==操作符解析③

从这个例子可以看出,要想掌握==运算的规则,除了牢记两大分类外,还需要记住那些内置对象的toString()和valueOf()方法的规则。
包括Object、Array、Date、Number、String、Boolean等

==操作符解析④

undefined == null,结果是true。且它俩与所有其他值比较的结果都是false。

String == Boolean,需要两个操作数同时转为Number。

String/Boolean == Number,需要String/Boolean转为Number。

Object == Primitive,需要Object转为Primitive(具体通过valueOf和toString方法)。
(Date tostring valueof)

 

js基础知识 ==操作符

原文:http://www.cnblogs.com/maoshui/p/7259335.html

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