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元运算符

九:运算符优先级

 


关注我

我的微信公众号:前端开发博客,在后台回复以下关键字可以获取资源。

  • 回复「小抄」,领取Vue、JavaScript 和 WebComponent 小抄 PDF
  • 回复「Vue脑图」获取 Vue 相关脑图
  • 回复「思维图」获取 JavaScript 相关思维图
  • 回复「简历」获取简历制作建议
  • 回复「简历模板」获取精选的简历模板
  • 回复「加群」进入500人前端精英群
  • 回复「电子书」下载我整理的大量前端资源,含面试、Vue实战项目、CSS和JavaScript电子书等。
  • 回复「知识点」下载高清JavaScript知识点图谱

每日分享有用的前端开发知识,加我微信:caibaojian89 交流