描敘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); }