码迷,mamicode.com
首页 > Web开发 > 详细

js基础知识 ==操作符

时间:2017-07-30 17:04:00      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:float   还需   value   prim   java   数值   其他   等于   需要   

==比较符在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基础知识 ==操作符

标签:float   还需   value   prim   java   数值   其他   等于   需要   

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

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