描叙spa |
运算符code |
实例blog |
加ci |
+get |
10 + 20 = 30it |
减console |
-table |
10 – 20 = -10class |
乘变量 |
* |
10 * 20 = 600 |
除 |
/ |
10 / 20 = 0.5 |
取余数 |
% |
返回除法的余数9%2=1 |
浮点数值的最高精度是 17 位小数
console.log(0.07 * 100); // 7.000000000000001
console.log(0.1 + 0.2); // 0.30000000000000004
++num 前置递增,就是自加1,相似于 num = num + 1,可是 ++num 写起来更简单
var num = 1;
console.log(++num); // 2
使用口诀:先自加,后返回值
2. 后置递增
num++ 后置递增,就是自加1,相似于 num = num + 1 ,可是 num++ 写起来更简单
var num = 1;
console.log(10 + num++); // 10 + 10 + 1
使用口诀:先返回原值,后自加
两个数据进行比较,返回一个布尔值
运算符名称 |
说明 |
案例 |
结果 |
< |
小于号 |
1 < 2 |
true |
> |
大于号 |
1 > 2 |
false |
>= |
大于等于号 |
1 >= 2 |
false |
<= |
小于等于号 |
1 <= 2 |
false |
!= |
不等于 |
1 != 2 |
true |
== |
判等于(会转型) |
1 == 1 |
true |
=== !== |
全等于,要求值数据类型一致 |
‘37’ === 37 |
false |
符号 |
做用 |
用法 |
= |
赋值 |
把右边给左边 |
== |
判断 |
判断两边是否相等(隐式转换) |
=== |
全等 |
判断两边值和类型是否相等 |
console.log('19' == 19); // true
console.log('19' === 19); // false
逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值
逻辑运算符 |
说明 |
案例 |
&& |
“逻辑与” and |
ture && false |
|| |
“逻辑或” or |
ture || false |
! |
“逻辑非” not |
!true |
两边都是 true才返回 true,不然返回 false
一边是 true返回 true,不然返回 false
逻辑非(!)也叫做取反符,用来取一个布尔值相反的值,如 true 的相反值是 false
var num = !true;
console.log(num); // false
短路运算的原理:当有多个表达式(值)时,左边的表达式值能够肯定结果时,就再也不继续运算右边的表达式的值;
语法: 表达式1 && 表达式2
若是第一个表达式的值为真,则返回表达式2
若是第一个表达式的值为假,则返回表达式1
console.log(11 && 22); // 11
console.log(0 && 2); // 0
2. 逻辑或
语法: 表达式1 || 表达式2
若是第一个表达式的值为真,则返回表达式1
若是第一个表达式的值为假,则返回表达式2
console.log( 123 || 456 ); // 123
console.log( 0 || 456 ); // 456
赋值运算符 |
说明 |
案例 |
= |
直接赋值 |
var name=’1’ |
+=,-= |
加,减一个值,再赋值 |
var age=1;age+=2 //3 |
*=,/=,%= |
乘,除,取余后在赋值 |
var age=1;age*=1 //10 |
var num = 2;
console.log(num += 1); // 3
console.log(num -= 1); // 2
console.log(num *= 1); // 2
// 条件成立执行代码,不然什么也不作
if (条件表达式) {
// 条件成立执行的代码语句
}
// 条件成立 执行 if 里面代码,不然执行else 里面的代码
if (条件表达式) {
// [若是] 条件成立执行的代码
} else {
// [不然] 执行的代码
}
// 适合于检查多重条件。
if (条件表达式1) {
语句1;
} else if (条件表达式2) {
语句2;
} else if (条件表达式3) {
语句3;
....
} else {
// 上述条件都不成立执行此处代码
}
表达式1 ? 表达式2 : 表达式3;
若是表达式1为 true ,则返回表达式2的值,若是表达式1为 false,则返回表达式3的值
简单理解: 就相似于 if else (双分支) 的简写
console.log((1 == true)? true: false); // true
switch( 表达式 ){
case value1:
// 表达式 等于 value1 时要执行的代码
break;
case value2:
// 表达式 等于 value2 时要执行的代码
break;
default:
// 表达式 不等于任何一个 value 时要执行的代码
}
执行case 里面的语句时,若是没有break,则继续执行下一个case里面的语句。
switch (name = 'peach3') {
case 'peach':
console.log('peach');
break;
case 'peach2':
console.log('peach2');
break;
default:
console.log('default');
} // default
for(初始化变量; 条件表达式; 操做表达式 ){
//循环体
}
num = 0; for (var i=1; i < 100; i++){ num += i } console.log(num); // 4950
for (外循环的初始; 外循环的条件; 外循环的操做表达式) {
for (内循环的初始; 内循环的条件; 内循环的操做表达式) {
需执行的代码;
}
}
var start = ''; for (var j=1; j <=3; j++) { for (var i=1; i <=3; i++) { start += '☆' } start += '\n' } console.log(start); ☆☆☆ ☆☆☆ ☆☆☆
while (条件表达式) {
// 循环体代码
}
var i = 0; while (i < 5) { if (i === 3) { console.log(i); break } i ++ } // 3
do {
// 循环体代码 - 条件表达式为 true 时重复执行循环体代码
} while(条件表达式);
var i =0; do { console.log("do 数字为" + i); i ++; } while ( i < 2){ console.log(i); }