运算符
算数运算符
运算符 | 描述 | 例子 |
---|---|---|
+ | 加法 | x=y+2 |
- | 减法 | x=y-2 |
* | 乘法 | x=y*2 |
/ | 除法 | x=y/2 |
% | 取模(余数) | x=y%2 |
++ | 自增:先相加再赋值 | x=++y |
自增:先赋值再相加 | x=y++ | |
– | 自减:先相减再赋值 | x=–y |
自减:先赋值再相减 | x=y– |
赋值运算符
运算符 | 例子 | 等同于 |
---|---|---|
= | x=y | |
+= | x+=y | x=x+y |
-= | x-=y | x=x-y |
*= | x*=y | x=x*y |
/= | x/=y | x=x/y |
%= | x%=y | x=x%y |
比较运算符
x = 5;
运算符 | 描述 | 比较 | 返回值 |
---|---|---|---|
== | 等于 | x==8 | false |
x==5 | true | ||
=== | 绝对等于(值和类型均相等) | x===“5” | false |
x===5 | true | ||
!= | 不等于 | x!=8 | true |
!== | 不绝对等于(值和类型有一个不相等,或两个都不相等) | x!==“5” | true |
x!==5 | false | ||
> | 大于 | x>8 | false |
< | 小于 | x<8 | true |
>= | 大于或等于 | x>=8 | false |
<= | 小于或等于 | x<=8 | true |
注意:
1 == “1” // true 弱等于
1 === "1" // false 强等于
//上面这张情况出现的原因在于JS是一门弱类型语言(会自动转换数据类型),所以当你用两个等号进行比较时,JS内部会自动先将
//数值类型的1转换成字符串类型的1再进行比较,所以我们以后写JS涉及到比较时尽量用三等号来强制限制类型,防止判断错误
逻辑运算符
x=6, y=3;
运算符 | 描述 | 例子 |
---|---|---|
&& | and | (x < 10 && y > 1) 为 true |
|| | or | (x5 || y5) 为 false |
! | not | !(x==y) 为 true |
流程控制
if
var x = 1;
if (x == 1){
console.log('==')
}
if else
var x = 1;
if (x == 1){
console.log('==')
}else {
console.log('!=')
}
if else if else
var x = 1;
if (x > 1){
console.log('>')
}else if (x < 1){
console.log('<')
}else{
console.log('==')
}
switch
var dd = new Date()
var day = ''
switch (dd.getDay()){
case 0:
day = '星期天';
break
case 1:
day = '星期一';
break
case 2:
day = '星期二';
break
case 3:
day = '星期三';
break
case 4:
day = '星期四';
break
case 5:
day = '星期五';
break
case 6:
day = '星期六';
break
}
// switch中的case子句通常都会加break语句,否则程序会继续执行后续case中的语句。
while
var i = 0;
while (i < 10) {
console.log(i);
i++;
}
for
for (var i=0;i<10;i++) {
console.log(i);
}
三元运算符
var a = 1;
var b = 2;
var c = a > b ? a : b
// 这里的三元运算顺序是先写判断条件a>b再写条件成立返回的值为a,条件不成立返回的值为b;