JS五种运算符,运算符的优先级

来源:互联网 发布:hao123网络连接错误 编辑:程序博客网 时间:2024/06/05 05:48

JS的运算符一共包括五种,下面我们来一个个的解说一下,开工~
1、赋值运算符
符号:=
解释:这里的等号不是数学里面的相等,是赋值。在应用时,需要先把等号右边的表达式算出来结果,再赋值给左边。

var a = 10 + 5;console.log(a);//15

2、算术运算符
符号:+、 -、 *、 /、 %、 ++、 –
解释:算术运算符的优先级是先乘除再加减
①.%是取余、求模,也就是整数除以一个数,除不开了,余下的数就是答案。例如:10%3=1(10对3取余/求模等于1)。
②.++自增:++放在前面,放在后面是区别的

A:当然了作为自增量,++aa++,都会让a1    var a = 10;    console.log(a++,++a);//11,11B:当需要赋值给另一个变量的时候,就不一样了    a = 10;    var b = a++;    console.log(b);//10    var c = ++a;    console.log(c);//11

哈哈,这个时候小伙伴们就要疑惑了吧,不都是自增吗,咋换了个位置就不行了呢,好且听我偷偷的告诉你们一个口诀:
++在后,先赋值后运算;++在前,先运算后赋值。
其实很好理解,比如上面的例子中的a++,++在后,那你一看人家在赋值的时候都把++藏自己身后了,肯定是要独享呗对不对;那++a,一看都摆在前面了,肯定是要一直赋值给人家的啦~

③.–自减
情况和自增一样,请参考上面。偷个懒O(∩_∩)O~
3、关系运算符
符号:<,>,>=,<=,!=,!==,==,===
解释:关系运算符的结果是布尔值(true/false)
另外需要注意的是==和===,多一个等号就会多一层判断,多一个等号的那个不仅判断数值,也会判断数据类型是否一致,一致返回true,反之返回false

==和===的区别:console.log(5 == "5");//true,不看数据类型,只比较大小console.log(5 === "5");//false,会判断类型,并比较大小

4、逻辑运算符
符号:逻辑运算符可以连接多个关系表达式,分为以下三种:
逻辑与 && 并且;逻辑或 || 或者;逻辑非 ! 取反
解释:
①.&&逻辑与,需要两个条件都为真,才为真,即一假即假
②.||逻辑或,只要有一个条件为真就为真,即一真即真
③.!逻辑非,对结果取反
④.运用逻辑运算符做一个判断的时候有可能有多个关系表达式共存
5、条件运算符/三目运算符
符号:条件?表达式1:表达式2
解释:条件为真,运行表达式1;为假,运行表达式2。

最简单的例子var a = true?3:5;console.log(a);//当然是3啦~\(≧▽≦)/

6、运算符的优先级问题:
算术运算符>关系运算符>逻辑运算符>赋值运算符,
这个式子不难得出,按照正常的运算规则,举几个例子一试便知,所以我也就不赘述了……
7、断路与 和 短路或的问题:
这个存在的理由是要节省系统性能
断路与:在逻辑与里面,如果第一个条件为假,就可以判断整个表达式为假,就不会去判断第二个条件(一假即假)
短路或:在逻辑或里面,如果第一个条件为真,就可以判断整个表达式为真,就不会去判断第二个条件(一真即真)

原创粉丝点击