js基础知识 ==操作符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js基础知识 ==操作符相关的知识,希望对你有一定的参考价值。

==比较符在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基础知识 ==操作符的主要内容,如果未能解决你的问题,请参考以下文章

JS基础知识总结

爬虫逆向必备js语法基础与js反爬原理---视频合集(持续更新)

node.js从基础到实战六阶段系统

JS基础--函数与BOMDOM操作JS中的事件以及内置对象

js基础复习---数组操作

js基础知识记忆部分(巩固基础专用)