手机版

js操作员总结

时间:2021-09-09 来源:互联网 编辑:宝哥软件园 浏览:

逻辑或(| |)

var结果=true | | false与逻辑和运算类似,如果其中一个操作数不是布尔值,则逻辑或不一定返回布尔值;此时遵循以下规则:如果第一个操作数是对象,则返回第一个操作数。

如果第一个操作数的计算结果为假,则返回第二个操作数。

如果两个操作数都是对象,则返回第一个操作数。

如果两个操作数都为空,则返回空值

如果两者都未定义,返回未定义。

如果两者都是NaN,返回NaN

“===”和“==”之间的区别

相等运算符(==)

等式运算符隐式转换运算值,然后进行比较:

如果运算值是布尔值,则在比较之前会将其转换为数值。如果一个运算值是字符串,而另一个是数值,则该字符串将通过Number()函数转换为数值。如果一个操作值是对象,另一个不是,将调用对象的valueOf()方法,并根据前面的规则比较结果。null和undefined相等。如果一个运算值是NaN,等式比较将返回false。如果两个操作值都是对象。如果两个操作数指向同一个对象,相等运算符返回true否则,它返回false。分别给出如下解释:假设===,相对简单。以下规则用于判断两个值是否相等:1。如果类型不同,就是[不相等];2.如果两者都是数值且相同,则它们是[相等的];(!例外的是,如果其中至少有一个是NaN,那么[不相等]。(判断一个值是否为NaN,只能用isnan ()) 3。如果两者都是字符串,并且每个位置的字符相同,则[相等];否则[不相等]。4.如果两个值都为真或都为假,则[相等]。5.如果两个值都指向同一个对象或函数,则[相等];否则[不相等]。6.如果两个值都为空或未定义,则[相等]。

我们来说说==,根据以下规则:1。如果两个值类型相同,比较===。2.如果两种值类型不同,它们可能相等。按照以下规则,进行类型转换和比较:a、如果一个为空,另一个未定义,则【相等】。b、如果一个是字符串,另一个是数值,把字符串转换成数值,然后比较。c、如果有值为真,将其转换为1,然后进行比较;如果任何值为假,将其转换为0并再次比较。如果一个是对象,另一个是数值或字符串,将对象转换成基本类型的值并进行比较。使用其toString或valueOf方法将。Js核心内置类,会在toString之前尝试valueOf;例外是日期,它使用了字符串转换。不是js核心的对象是【不对等】(比较麻烦,我不太懂)e和其他任何组合。

表达式值表达式值null==undefined true==1 true ' nan '==nan false $ null==0 false false==0 true nan!=NaNtrue就是简单的“==”,只要它的求值结果是相等的。"==="需要相等的值和类型。

数据来自javascript高级编程、整理和后续更新

版权声明:js操作员总结是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。