运算符优先级:
在所有的运算符中,括号的优先级最高,赋值符号的优先级最低。
小括号 > 计算运算符 > 比较运算符 > 逻辑运算符 > 赋值符号
————————————————————————————————————————————————————————————

算术运算符(从左至右依次计算) -、+、 *、/、%、++、--、+=、-=、*=、%=、
注意点:
"+"只有两个作用: 数学运算和字符串连接(任何数据类型加字符串都是起连接作用)。
"%"的计算结果: 当被除数小于除数时,模的值就为被除数,即使被除数为0也不例外。
"/"的计算结果: 俩个number类型的值进行计算,若无法正常计算,得出结果 NAN ,比如0除以任何数等于NAN、
若无法得出具体值,则显示infinity(正无穷)或-infinity,比如1/0=infinity。

自增/自减的特性: 在没有表达式的时候,无论自增自减放变量前面还是后面没有任何区别。
在有表达式的时候,自增自减放变量前面的,它比表达式的优先级高,堪比括号优先级。
例如:var a = 1; var b = a-- + --a; ==> b = 0;
+=、*=、/=、%=的特点:
当一个数加、减、除、模一个不小于1的数并赋给自身时的简写版。
如果右边是表达式,那么先算表达式,在和自身相计算,最后赋给自身。
——————————————————————————————————————————————————————————

比较运算符 < 、> 、>= 、<= 、== 、===、!=
1).只要是用比较运算符比较两个值,得出的结果一定为Boolean值。
2).数字与数字直接比较大小;
3).字符串与字符串是比较的ascii码;
(字符串比较先用字符串的第一个字符进行比较,谁的ascii码大谁就大,若第一个字符相等则比较第二个字符,依次类推。比较运算符隐式的将字符转换成ascii码值)
注意点:
'10'读作:字符串一和零,‘10’< '8',比较的是字符1和字符8的ascii值
————————————————————————————————————————————————————————————

逻辑运算符
逻辑运算符特性:
逻辑运算符的左右两边可以是一个值、一个表达式或执行语句,执行语句没有布尔值说法,
在进行逻辑之前,它会先判断左边的值或表达式的结果转换成布尔值的情况。
逻辑运算的结果为原来的值或表达式的结果。
"&&"与运算符
当只有一个与运算符时,先判断左边的布尔值的情况,
若为假,直接返回左边的原值或表达式结果,
若为真,不对右边进行布尔值判断,直接返回右边的原值或表达式结果。
当有两个及以上的与运算符时,先判断最左边的布尔值,
若为真,则继续判断下一个的布尔值,以此类推,直到遇到为假的,
就返回该值或表达式结果,若全为真,则返回最右边的值或表达式结果。
与运算符的应用:短路语句(利用逻辑运算符先判断左边的布尔值,才决定要不要执行右边的语句)

"||"或运算符: 和与运算符的逻辑判断类似,但是当遇到布尔值为真时,
就停止后面的判断,返回该原值或表达式。

"!"非运算符: 将一个值或表达式结果转换成布尔值,然后再取反。得到的结果为布尔值。
undefined、null、NaN、0、""、false 其结果为false,其他的都为true。
________________________________________________________________________________________

if语句
if和else if的区别:多个if语句都会判断,else if语句只要满足了,后面的就不再判断。
else和else if的区别: else if指一个明确的区间,
else是衔接上面的区间的补集,当上面有很多if或else if时,将他们的区间加起来,然后取补。
while语句
do-while语句
switch-case语句 ————————> 用对象或类数组代替switch方法
switc的括号写条件,case后面是和条件比较的值,这个值可以是任意类型;
注意点: 当swicth匹配到某一个case时,它后面的其他case语句也会执行。
所以应在每个case后面加上break(break只能用于循环语句中,否则会报错)。
利用这个注意点,可以简化当多个case都实现同一功能时的代码量。
————————————————————————————————————————————————————————————
for循环效率提升:当循环数组或类数组时,将长度提取出来放在一个变量中,
达到对长度值提取一次但应用到整个循环。

当在循环中修改数组或类数组长度,可用以下方法来解决
在单一var模式下将获取长度的变量也放在循环中for(i = 0, max = array.length;i < max; i ++){}。
for in循环:用来遍历非数组的对象。
当遍历对象属性来过滤遇到的的原型链的属性时,使用hasOwnProperty()
if(Object.prototype.hasOwn.call(对象引用名,prop)){}

ES之各种运算符,for、while、do while 、switch case循环的更多相关文章

  1. c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)

    1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式 2.BOOL(布尔)数据类型: c语言中除了基本数 ...

  2. 运算符 与 分支语句:if ,else if,else;switch case

    分支语句: if        else if       else      :    switch          case --如何使用 if  else if  else: Console. ...

  3. 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等

    [源码下载] 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等 作者:webabcd 介绍不可或缺 Windows Native  ...

  4. js部分---运算符,if分支语句,for循环;switch case 的用法;

    ------------------------------------------运算符---------------------------------------------------- *数 ...

  5. if判断和switch case 和三元运算符整理

    if判断和switch case 和三元运算符整理 例子1:if判断写法: <script type="text/javascript"> var num = 12; ...

  6. js运算符和if语句,switch语句

    逻辑运算符 类型 运算符 算数运算符 +   -    *   /   %   ++   -- 赋值运算符 = 比较运算符 >   <   >=  <=   ==   !=   ...

  7. PHP小总结

    <?php //1.php基础语法 //输出语句 echo print print_r var_dump() //2.php是弱类型语言 //强制转换类型:(类型)变量 settype(变量,类 ...

  8. JS基础(超级简单)

    1     JS基础(超级简单) 1.1 数据类型 1.1.1   基本类型: 1)        Number:特别注意:NaN的检测方法:Nan!=NaN;或者使用isNaN方法 2)       ...

  9. php 复习

    <?php 一.php基础语法1.输出语句:echo print print_r var_dump() 2.php是弱类型语言强制转换类型: (类型)变量 settype(变量,类型) 3.变量 ...

随机推荐

  1. Android5.0(lollipop)新特性介绍(一)

    今年6月的Google I/O大会上.Android L的初次见面我相信让会让非常多android粉丝有些小激动和小期待.当然作为开发人员的我来说,激动不言而喻,毕竟这是自08年以来改变最大的一个版本 ...

  2. Redis实践系列丨Codis数据迁移原理与优化

    Codis介绍 Codis 是一种Redis集群的实现方案,与Redis社区的Redis cluster类似,基于slot的分片机制构建一个更大的Redis节点集群,对于连接到codis的Redis客 ...

  3. Python开发【1.1 基础语法】

    1.Python语言特点 优点: ①.丰富的库 ②.简单.开源 ③.支持面向对象编程 ④.解释性语言,无需编译 ⑤.高层语言,不用考虑内存问题 ⑥.可移植性好,不依赖于操作系统 缺点: ①.运行效率较 ...

  4. 邮件:事务失败。 服务器响应为:DT:SPM 163 smtp

    几年前我做的一个项目,日发邮件最高峰时几十万.自以为对邮件发送方面已经有了一定认识,所以近期机缘巧合之下,又有项目需要发送邮件,不禁自信满满,暗自庆幸能不手到擒来乎? 不想老革命遇到新问题.我原先的邮 ...

  5. Facebook Flux 分析

    首先是actions使用了Dispatcher来定义分发事件, Store在Dispatcher里注册自己的ActionType,收到对应的Action后修改Store内部的结构 Store emit ...

  6. POJ3692 Kindergarten —— 二分图最大团

    题目链接:http://poj.org/problem?id=3692 Kindergarten Time Limit: 2000MS   Memory Limit: 65536K Total Sub ...

  7. YTU 1012: A MST Problem

    1012: A MST Problem 时间限制: 1 Sec  内存限制: 32 MB 提交: 7  解决: 4 题目描述 It is just a mining spanning tree ( 最 ...

  8. Masonry remake更新约束

    前言 说到iOS自动布局,有很多的解决办法.有的人使用xib/storyboard自动布局,也有人使用frame来适配.对于前者,笔者并不喜欢,也不支持.对于后者,更是麻烦,到处计算高度.宽度等,千万 ...

  9. 并不对劲的bzoj5342:loj2554:uoj401:p4566: [Ctsc2018]青蕈领主

    题目大意 \(T\)(\(T\leq100\))组询问 有\(1\)到\(n\)(\(n\leq50000\))这\(n\)个整数组成的一个排列 定义这个排列的一个子区间是"连续" ...

  10. BZOJ_2819_Nim_树状数组维护出栈入栈序

    BZOJ_2819_Nim_树状数组维护出栈入栈序 Description 著名游戏设计师vfleaking,最近迷上了Nim.普通的Nim游戏为:两个人进行游戏,N堆石子,每回合可以取其中某一堆的任 ...