ES之各种运算符,for、while、do while 、switch case循环
运算符优先级:
在所有的运算符中,括号的优先级最高,赋值符号的优先级最低。
小括号 > 计算运算符 > 比较运算符 > 逻辑运算符 > 赋值符号
————————————————————————————————————————————————————————————
算术运算符(从左至右依次计算) -、+、 *、/、%、++、--、+=、-=、*=、%=、
注意点:
"+"只有两个作用: 数学运算和字符串连接(任何数据类型加字符串都是起连接作用)。
"%"的计算结果: 当被除数小于除数时,模的值就为被除数,即使被除数为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循环的更多相关文章
- c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)
1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式 2.BOOL(布尔)数据类型: c语言中除了基本数 ...
- 运算符 与 分支语句:if ,else if,else;switch case
分支语句: if else if else : switch case --如何使用 if else if else: Console. ...
- 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等
[源码下载] 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等 作者:webabcd 介绍不可或缺 Windows Native ...
- js部分---运算符,if分支语句,for循环;switch case 的用法;
------------------------------------------运算符---------------------------------------------------- *数 ...
- if判断和switch case 和三元运算符整理
if判断和switch case 和三元运算符整理 例子1:if判断写法: <script type="text/javascript"> var num = 12; ...
- js运算符和if语句,switch语句
逻辑运算符 类型 运算符 算数运算符 + - * / % ++ -- 赋值运算符 = 比较运算符 > < >= <= == != ...
- PHP小总结
<?php //1.php基础语法 //输出语句 echo print print_r var_dump() //2.php是弱类型语言 //强制转换类型:(类型)变量 settype(变量,类 ...
- JS基础(超级简单)
1 JS基础(超级简单) 1.1 数据类型 1.1.1 基本类型: 1) Number:特别注意:NaN的检测方法:Nan!=NaN;或者使用isNaN方法 2) ...
- php 复习
<?php 一.php基础语法1.输出语句:echo print print_r var_dump() 2.php是弱类型语言强制转换类型: (类型)变量 settype(变量,类型) 3.变量 ...
随机推荐
- ora-12541无监听的一种场景
项目上突然出现无法连接Oracle数据库的情况,提示无监听程序. 现象: 查看 listener.ora配置无问题,用Net Configuration Assistant重建监听,NCA也处于假死状 ...
- 2015/12/25 ① 图灵测试 ② 安装jdk出现的问题 ③ 配置环境变量
①图灵测试 1,解释 图灵测试一词来源于计算机科学和密码学的先驱阿兰·麦席森·图灵写于1950年的一篇论文<计算机器与智能>.阿兰·麦席森·图灵1950年设计出这个测试,其内容是,如果电脑 ...
- 使用scanf_s报错:0xC0000005: Access violation writing location 0x00000000
在vs2010中写了一行scanf("%s",name); 调式时 提示warning , 提示修改为scanf()使用可能会存在不安全,建议使用scanf_s() 但是我修改成s ...
- ES6 模块化(Module)export和import详解 export default
ES6 模块化(Module)export和import详解 - CSDN博客 https://blog.csdn.net/pcaxb/article/details/53670097 微信小程序笔记 ...
- shell系统管理
背景知识 对于 Linux 系统管理员来说,没有比 shell 脚本编程更有用处的了.通常,Linux 系统管理员每天需要完成无数项任务,从监视系统磁盘空间和系统用户到备份重要文件.Shell 脚本可 ...
- YTU 2895: H--唱歌的鸟儿
2895: H--唱歌的鸟儿 时间限制: 1 Sec 内存限制: 128 MB 提交: 26 解决: 10 题目描述 烟大东门有一棵大杨树,树上经常会有很多鸟儿飞来飞去.春天来了,学生物的小姜发现 ...
- 配置JDK环境变量配置及path和classpath的作用
1.环境变量配置 用鼠标右击“我的电脑”->属性->高级->环境变量 JAVA_HOME :D:\Program Files\Java\jdk1.6.0_12(JDK安装路径) Pa ...
- 并不对劲的bzoj4198:loj2132:uoj130:p2168:[NOI2015]荷马史诗
题目大意 有\(n\)(\(n\leq10^5\))种单词,其中第\(i\)种单词在文章中的出现次数为\(w_i\) 要将每个单词替换成一个字符集为\(k\)(\(k\leq9\))的字符串,使对于任 ...
- openpyxl操作excel
[转] openpyxl库可以读写xlsx格式的文件,对于xls旧格式的文件只能用xlrd读,xlwt写来完成了. python有很多模块都是用来操作excel的,比如xlrd,xlwt,pyExce ...
- 《The Unreasonable Effectiveness of Recurrent Neural Networks》阅读笔记
李飞飞徒弟Karpathy的著名博文The Unreasonable Effectiveness of Recurrent Neural Networks阐述了RNN(LSTM)的各种magic之处, ...