從新鞏固JS(二)——JavaScript操做符與表達式

從新鞏固JS系列,都是比較基礎的東西,能夠進行查漏補缺,很快看完,這是第二篇。javascript

其餘JS從新鞏固系列:java

1.表達式

1.1原始表達式

3.14  //數字直接量
"hello world"  //字符串直接量
/pattern/  //正則表達式直接量

true  //返回一個布爾值: 真
false  //返回一個布爾值: 假
null  //返回一個值: 空
this  //返回「當前」對象

i  //返回變量i的值
sum //返回sum的值
undefined  //undefined是全局變量,和null不一樣,它不是一個關鍵字
複製代碼

1.2表達式

操做數以及操做符組合而成。正則表達式

1
1 + 2
(1 + 2) * 3
(1 + 2 ) * 3 && !flag 
複製代碼

2.操做符

  • 算術運算符+, -, *, /, %, **): 普通的加、減、乘、除、取餘運算,其中**次方運算符
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語句的簡短形式來使用。
相關文章
相關標籤/搜索