运算符
算数运算符
+``-``*``/``%
优先级:
*``/``%优先级相同+``-优先级相同*``/``%大于+``-- 优先级相同时从左向右执行
- 有括号的先算括号内的
- 总结:按照基本的数学运算方法来计算
赋值运算符
- 对变量进行赋值的运算符,例如
= - 要求左边必须是一个容器,右边是要赋的值
+=``-=``*=``/=``%=都是赋值运算符- 可以在对变量赋值时进行快速的操作
let num = 1
num += 3
console.log(num)
/*结果为4*/
- 可以让代码简化
一元运算符
+ -号都是一元运算符
- 用于计数使用,计算进行了多少次了
++变量加一--变量减一
前置自增
++ i- 先自加再运算
- ++在前先加
let i =1
console.log(++i + 2)
/*结果为4
i=1+1=2
2+2=4
*/
后置自增
i ++
- 先运算再自加
- ++在后后加
let i =1
console.log(i++ + 2)
/*结果为3
1+2=3
i =1+1=2
*/
前置自增和后置自增单独使用时没有区别
一般开发都是单独使用
i++使用较多即先计算再自增
比较运算符
> : 左边是否大于右边
<: 左边是否小于右边
>=: 左边是否大于或等于右边
<=: 左边是否小于或等于右边
==: 左右两边是否相等只判断数值不看数据类型
- 常用
===: 左右两边是否类型和值都相等
!==: 左右两边是否不全等
- 比较两个数的大小、是否相等
- 比较的结果为boolean类型,只会得到true或false
细节
- 字符串比较的是对应的ASCII码
- 从左向右,第一位一样比较第二位
- 了解
- NaN不等于任何值包括它本身
- 尽量不比较小数,有精度问题
- 不同类型的比较会发生隐式转换,都会转换成number类型
- ==为了进行准确的比较通常使用
===: 左右两边是否类型和值都相等
!==: 左右两边是否不全等
逻辑运算符
作用:用来解决多重条件的判断
- 与、或、非
- 并且、或者、取反
&&``||``!- 一假则假
&& - 一真则真
|| - 真变假,假变真
!
细节
!连续使用两次可将任意类型转换为布尔型值
短路:只存在于 与 和 或 中
- 当第一个操作数的值是false不对第二个操作数求值,结果直接为false
- 第一个操作数是对象,返回第二个操作数
- 第二个操作数是对象,第一个为true时返回该对象
- 两个操作数都是对象,返回第二个操作数
位运算符
其他运算符
运算符的优先级
表达式和语句
- 表达式可以求值 有结果
- 语句不一定有结果
分支语句
流程控制语句
- 顺序结构:由上到下
- 分支结构:根据条件执行代码
- 循环结构:将某段代码重复执行
分支语句
- 有选择性的执行代码
- 分为:If分支,三元,switch
if语句
- 单分支:
if (条件为true){要执行的代码} - 双分支:
if (条件为true){要执行的代码} else {要执行的代码} - 多分支:
if (条件为true){要执行的代码} else if (条件为true){要执行的代码} else {要执行的代码}
三元运算符
? :- 简化 双分支if 语句
- 一般用来取值(返回到变量)
let num = prompt ('输入数字')
//返回一个变量方便后期使用
let time = num < 10 ? '0' + num : num
console.log (time)
alert (time)
switch语句(了解)
- 判断全等
- 没有全等执行default的代码
switch (2) {
case 1:
alert (1)
break
case 12:
alert (1)
break
case 13:
alert (1)
break
default:
alert('以上都不是')
break
}
-
如果没有
break会发生switch的穿透效果,代码向下执行到底
循环
while- 死循环:
while (true)代码一直重复执行,自己不会停止 - 循环三要素必须同时具备否则变死循环:变量起始值、终止条件、变量变化量(用自增或自减)
- 循环的退出
break终止循环 配合if
continue结束本次循环,执行下一次 continue前要加 i++ 不会产生死循环
//计算1-1000之间的和用户输入一个数, 计算 1 到这个数的和。
let i = 1
let sum = 0
while (i<=100) {
sum = sum + i
i++
}
console.log(sum);
let sum = 0
let i = 1
while (i <= 100) {
if (i % 10 !== 3) {
sum = sum + i
}
i++
}
console.log(sum)