從新鞏固JS系列,都是比較基礎的東西,能夠進行查漏補缺,很快看完,這是第二篇。javascript
其餘JS從新鞏固系列:java
3.14 //數字直接量
"hello world" //字符串直接量
/pattern/ //正則表達式直接量
true //返回一個布爾值: 真
false //返回一個布爾值: 假
null //返回一個值: 空
this //返回「當前」對象
i //返回變量i的值
sum //返回sum的值
undefined //undefined是全局變量,和null不一樣,它不是一個關鍵字
複製代碼
操做數以及操做符組合而成。正則表達式
1
1 + 2
(1 + 2) * 3
(1 + 2 ) * 3 && !flag
複製代碼
+, -, *, /, %, **
): 普通的加、減、乘、除、取餘運算,其中**
爲次方運算符。3 ** 2 // 結果爲:9
複製代碼
++, --, +, -
): 一些只須要一個操做數的運算符,注意:++, --
放在變量左右側的差異,放在變量的左側是先自增(減),再取值,放在右側則相反。let a = 2, y, z;
y = ++a // 先執行a = a + 1, 獲得 a = 3, 而後將a賦值給y,則y = 3
z = a++ // 接上面a = 3, 將a賦值給z,則z = 3,而後再執行 a = a + 1, 獲得a = 4
//一元正號(+)
+3 //3
+'3' //3
+true //1
+functioan(a){return a} //NaN
複製代碼
=, +=, -=, *=, /=, %=
):將某個常量或變量或表達式的值賦值給另外一個變量,注意:ES6新增的解構賦值。//解構數組
let [a, b, c] = ['one', 'two', 'three'] // a = 'one', b = 'two', c = 'three'
//解構對象
let { name, age } = { name: 'cc', age: 100 } // name = 'cc', age = 100
複製代碼
==, !=, ===, !==
):用於比較左右的操做數是否相等。可參考:JS比較運算符(「===」和「==」
)的匹配規則以及if()條件的判斷結果。>, <, >=, <=
): 用於比較操做符左右的操做數的大小。&, |, ~, ^, <<, >>, >>>
): 將其操做數轉化爲二進制後,進行與、或、非、異或等操做運算,最終返回JS中的一個數值。其中>>>
爲無符號右移。&&, ||, !
): 主要經過與、或、非來判斷一個表達式的值是否爲true。注意:與和或操做具備短路計算效果。//短路計算
false && (anything) // 結果爲false
true || (anything) // 結果爲anything
//方法1: 設置x的缺省值
function test(x) {
x = x || 100
}
test(10) //x = 10
test() // x = 100
// 方法2: ES6的方式
function test(x = 100) {
...
}
test(10) //x = 10
test() // x = 100
複製代碼
? :
): JS中惟一一個有3個運算數的運算符,通常用於if語句的簡短形式來使用。