上篇文章比较了"?,="三者的优先级:"?">"=">","

今天继续学习"++,--,&&,||"四者的优先级,强化JavaScript运算符基础。

首先上图一张,运算符的比较:

结论:

1.优先级:"++,--">"&&">"||"

2.即时性:++,--操作符里面的变量计算时候具有即时性。例如a=0,a++,那么a++结果是0,a是1.


||和&&是截断操作符,对||来说,前面成立后面就不用计算,对&&来说前面不成立后面就不会计算

例如:var a=b=c=0;
++a||++b: ++a的值为1,所以++b不执行,a=1,b=0; ++a&&++b: ++a值为1,再计算++b,a=1,b=1; ++a||++b&&++c,&&优先级低于||,先计算++a,a=1后面执行a=1,b=0,c=0.

下面我们看一个复杂的例题:

var  a =1 ,b =0;
var c = a-- && b++ || a++ && b-- || b++;
alert(a);
alert(b);
alert(c);

结果是:a=1,b=2,c=1

结计算过程详解:

1.c原式相当于:(a--) && (b++) || (a++) && (b--) || (b++);

2.计算到第3位时候注意:此时全式变为:1(a为0)&&0(b为1)||0(a为1)&&(b--)(0&&any特点,不用计算这位,b仍为1)||1(该位是在第2个&&计算完之后,开始计算的,所以b变为2),即1&&0||0&&(b--)||1

3.a=1,b=2,c=1

JavaScript运算符优先级——"++,--,&&,||“的更多相关文章

  1. javascript 运算符优先级

    JavaScript 运算符优先级(从高到低) https://github.com/xhlwill/blog/issues/16 今天把js函数转换为python 函数时,发现在js运算符优先级这边 ...

  2. JavaScript运算符优先级引起的bug

    [下面是昨天发给同事的邮件,为防止泄露商业机密,隐去了项目名和变量名] ==================================================== 昨天发现Nx代码中的一 ...

  3. JavaScript运算符优先级

    图片引用自:http://www.cnblogs.com/xxcanghai/p/5189353.html

  4. javascript运算符优先级顺序

    1 ()2 !.-(负号).++.-- 3 *./.%4 +.- 10-55 <.<=.<.>=6 ==.!=.===.!==.7 &&8 ||9 ?:10 = ...

  5. (转)JavaScript中的运算符优先级

    JavaScript中的运算符优先级是一套规则.该规则在计算表达式时控制运算符执行的顺序.具有较高优先级的运算符先于较低优先级的运算符执行.例如,乘法的执行先于加法. 下表按从最高到最低的优先级列出J ...

  6. JavaScript基础之运算符及全面的运算符优先级总结

    算数运算符: 加+,减—,乘*,除/,求余%,加加++,减减——, 加减乘除求余运算与数学上的用法完全一样. 不过,加号+还有连接字符串的作用,其他运算符还可以将字符串数字转换成数值型,参见JavaS ...

  7. 运算符优先级 (JavaScript)

    运算符优先级描述了在计算表达式时执行运算的顺序.先执行具有较高优先级的运算,然后执行较低优先级的运算.例如,先执行相乘,再执行相加. JavaScript 运算符     下表列出了 JavaScri ...

  8. JavaScript 运算符的优先级

    ㈠逗号(,)运算符 ⑴使用 , 可以分割多个语句,一般可以在声明多个变量时使用 , : ⑵使用 , 运算符同时声明多个变量    // var a , b , c ; ⑶可以同时声明多个变量并赋值   ...

  9. javascript运算符语法概述

    × 目录 [1]个数 [2]优先级 [3]结合性[4]类型[5]规则表 前面的话 javascript中的运算符大多由标点符号表示,少数由关键字表示,它们的语法言简意赅,它们的数量却着实不少.运算符始 ...

随机推荐

  1. Xshell连接不上Linux的解决方法

    xshell连接linux主机时,会出现错误:Could not connect to '127.0.0.1' (port 22): Connection failed.  但是这时能ping通. 通 ...

  2. 适配器设计模式及GenericServlet(九)

    一共两个知识点:1.Servlet 里面已经有适配器了,名字叫:GenericServlet.      2.什么是适配器模式. 如果这个接口里面有好多方法,那创建A/B/C这个三个类的时候如果必须继 ...

  3. 为PyCharm配置QT

    由于QT在创建窗体项目时会自动生成后缀名为ui的文件,该文件需要转换为py文件后才可以被python所识别,所有需要为QT与PyCharm开发工具进行配置,具体步骤如下: (1)确保Python.QT ...

  4. java7大设计原则

    1.单一职责原则(srp) 每一个对象或者类只有一个职责.高内聚.低耦合. 2.开闭原则(ocp) 对扩展开放,对修改关闭.使用性,灵活性,扩展性,稳定性延续性,重复.维护. 3.里氏替换原则(lsp ...

  5. JAVA学习第三篇Boolean

    Boolean是布尔值. 布尔值只有两个值:真和假.写作:true false. 那么如何使用呢? 最简单的用法: public class demo{ public static void main ...

  6. codevs3027(dp)

    题目链接: http://codevs.cn/problem/3027/ 题意: 中文题目诶~ 思路: dp 先给所有线段按照右端点值升序 sort 一下, 用 dp[i] 存储以第 i 条线段结尾的 ...

  7. 深入理解sudo

    [root@cairui ~]# cat /etc/sudoers ## Sudoers allows particular users to run various commands as ## t ...

  8. pf4j实例 插件框架

    实现整个过程需要三个部分,第一就是根接口,第二是插件,第三是应用程序.这是3个java项目. 首先要下载jar包,百度搜索maven repository,然后搜索pf4j,如下图,下载第一个的相应版 ...

  9. Halum UVA - 11478 差分约束

    输入输出格式 输入格式: 输出格式: 输入输出样例 输入样例#1: 复制 2 1 1 2 10 2 1 1 2 -10 3 3 1 2 4 2 3 2 3 1 5 4 5 2 3 4 4 2 5 3 ...

  10. JS模式和原型精解

    首先需要知道的是 模式只是思想.不要用 结构 看模式. ES中函数是对象,因此函数也有属性和方法. 每个函数含有两个属性: length 和 prototype 每个函数含有两个非继承的方法: app ...