javascript运算符

文章目录

四:关系运算符。

用于比较的关系运算符,当关系运算符操作非数值要遵循以下规则:

2.两个操作数都是字符串,则比较两个字符串对应的字符编码制。

3.两个操作数有一个是数值,则将另一个转换为数值,再进行比较。

4.两个操作数有一个是对象,则先调用valueOf()方法或toString()方法,再用结果比较。

var box = 'a'>'b'; false a=97,b=98

var box = 'a' >'B'; true B=66;

在相等和不相等的比较上,如果操作数非数值,则遵循以下规则:

1.操作数是布尔值,则比较值钱将其转换为数值,false 转换为0,true转换为1;

2.一个操作数是字符串,则比较之前先将其转换为数值再比较

3.一个操作数是对象,则先调用valueOf()或toString()方法后再返回值比较。

4.不需要任何转换的情况下,null和undefined是相等的;

5.一个操作数是NaN,则==返回false,!=返回true,并且NaN和自身不等。

6.两个都是对象,则比较他们是否是同一对象,如果都指向同一个对象,则返回true,否则返回false。

7.在全等和全不等的判断上,比如值和类型都相等,才返回true,否则返回false。

null自动转换为0,但在比较运算上,null和undefined自身都不转换。

var box = null == 0; false

var box = undefined == 0; false;

五:逻辑运算符

包括逻辑与、逻辑或、逻辑非

1.逻辑与:&&

当两边都是true,返回true

如果两边的操作数有一个操作数不是布尔值,与运算不一定返回布尔值

1.第一个操作数是对象,则返回第二个操作数

2.第二个操作数是对象,则第一个操作数返回true,才返回第二个操作数,否则返回false

3.有一个操作是null,则返回null

4.有一个操作数是undefined,则返回undefined。

逻辑与是短路操作,如果第一个是false,则返回false。

2.逻辑或:||

有一个是true,则返回true

如果两边操作数有一个不是布尔值

1.第一个操作数是对象,则返回第一个操作数

2.第一个操作数的求值方式结果为false,则返回第二个操作数。

3.两个操作数都是对象,则返回第一个操作数

4.两个操作数都是null,则返回null

5.两个操作数都是NaN,则返回NaN

6.两个操作数都是undefined,则返回undefined

 

3.逻辑非

逻辑非运算符可用于任何值,无论这个值是什么类型,这个运算符都会返回一个布尔值。

七.赋值运算

+运算符

var box = 100 + '100'; 100100

八:3元运算符

九:运算符优先级

 

「五年博客,如果觉得我的文章对您有用,请帮助本站成长」

订阅周报 关注微博

原创文章:javascript运算符 ,未经许可,禁止转载,©版权所有
原文出处:前端开发博客 (http://caibaojian.com/javascript-operators-2.html)

发表评论

请登录后发表评论: