JavaScript-day02
js基礎第二天
1.2 算數運算子
-
算術運算子概述
概念:算術運算使用的符號,用於執行兩個變數或值的算術運算。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-RI31lGoL-1605489975584)(E:/長沙黑馬/03-JavaScript基礎 - 程式碼和作業/JavaScript基礎第02天/5-筆記/images/圖片1.png)]
1.3 遞增和遞減運算子
遞增和遞減運算子概述
如果需要反覆給數字變數新增或減去1,可以使用遞增(++)和遞減( – )運算子來完成。
在 JavaScript 中,遞增(++)和遞減( -- )既可以放在變數前面,也可以放在變數後面。放在變數前面時,我們可以稱為前置遞增(遞減)運算子,放在變數後面時,我們可以稱為後置遞增(遞減)運算子。
-
注意:遞增和遞減運算子必須和變數配合使用。
-
遞增運算子
-
前置遞增運算子
++num 前置遞增,就是自加1,類似於 num = num + 1,但是 ++num 寫起來更簡單。
使用口訣:先自加,後返回值
++i 前置 先自加再運算
i++ 後置 先運算在自加 (先返回值,再自加)
var num = 10; alert(++num + 10); // 21
1.4 比較運算子
-
比較運算子概述
概念:比較運算子(關係運算子)是兩個資料進行比較時所使用的運算子,比較運算後,會返回一個布林值(true / false)作為比較運算的結果。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-Iz2dtEYK-1605489975589)(E:/長沙黑馬/03-JavaScript基礎 - 程式碼和作業/JavaScript基礎第02天/5-筆記/images/圖片2.png)]
-
等號比較
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-ZjeSdt1x-1605489975592)(E:/長沙黑馬/03-JavaScript基礎 - 程式碼和作業/JavaScript基礎第02天/5-筆記/images/圖片3.png)]
-
-
1.5 邏輯運算子
-
邏輯運算子概述
概念:邏輯運算子是用來進行布林值運算的運算子,其返回值也是布林值。後面開發中經常用於多個條件的判斷
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-lAuN0PQ0-1605489975595)(E:/長沙黑馬/03-JavaScript基礎 - 程式碼和作業/JavaScript基礎第02天/5-筆記/images/圖片4.png)]
-
邏輯與&&
兩邊都是 true才返回 true,否則返回 false
-
邏輯或 ||
兩邊都是 true才返回 true,否則返回 false
-
邏輯非 !
邏輯非(!)也叫作取反符,用來取一個布林值相反的值,如 true 的相反值是 false
var isOk = !true; console.log(isOk); // false
-
短路運算(邏輯中斷)
短路運算的原理:當有多個表示式(值)時,左邊的表示式值可以確定結果時,就不再繼續運算右邊的表示式的值;
-
邏輯與
語法: 表示式1 && 表示式2
邏輯運算子
與 && 同時滿足兩個條件才為真
或 || 兩個條件只要有一個條件為真 結果為真
非 ! 取反
- 如果第一個表示式的值為真,則返回表示式2 - 如果第一個表示式的值為假,則返回表示式1
console.log( 123 && 456 ); // 456 console.log( 0 && 456 ); // 0 console.log( 123 && 456&& 789 ); // 789
-
邏輯或
語法: 表示式1 || 表示式2
- 如果第一個表示式的值為真,則返回表示式1 - 如果第一個表示式的值為假,則返回表示式2
console.log( 123 || 456 ); // 123 console.log( 0 || 456 ); // 456 console.log( 123 || 456 || 789 ); // 123
-
1.6 賦值運算子
概念:用來把資料賦值給變數的運算子。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-dbhRiYJ3-1605489975598)(E:/長沙黑馬/03-JavaScript基礎 - 程式碼和作業/JavaScript基礎第02天/5-筆記/images/圖片9.png)]
var age = 10;
age += 5; // 相當於 age = age + 5;
age -= 5; // 相當於 age = age - 5;
age *= 10; // 相當於 age = age * 10;
1.7 運算子優先順序
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-0QSY1U70-1605489975601)(E:/長沙黑馬/03-JavaScript基礎 - 程式碼和作業/JavaScript基礎第02天/5-筆記/images/圖片10.png)]
- 一元運算子裡面的邏輯非優先順序很高
- 邏輯與比邏輯或優先順序高
1.8 賦值運算子
概念:用來把資料賦值給變數的運算子。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-ILf65ROn-1605489975604)(E:/長沙黑馬/03-JavaScript基礎 - 程式碼和作業/JavaScript基礎第02天/5-筆記/images/圖片9.png)]
var age = 10;
age += 5; // 相當於 age = age + 5;
age -= 5; // 相當於 age = age - 5;
age *= 10; // 相當於 age = age * 10;
2.3 分支流程控制
-
分支結構
由上到下執行程式碼的過程中,根據不同的條件,執行不同的路徑程式碼(執行程式碼多選一的過程),從而得到不同的結果
if 語句
-
語法結構
// 條件成立執行程式碼,否則什麼也不做 if (條件表示式) { // 條件成立執行的程式碼語句 } if (2 < 3) { alert('判斷正確 正常執行') }
if else if 語句(多分支語句)
- 語法結構
// 適合於檢查多重條件。
if (條件表示式1) {
語句1;
} else if (條件表示式2) {
語句2;
} else if (條件表示式3) {
語句3;
....
} else {
// 上述條件都不成立執行此處程式碼
}
2.4 三元表示式
-
語法結構
表示式1 ? 表示式2 : 表示式3;
-
<script> var str = 10; var s = str > 5 ? '是的' : '不是的'; //知道表示式是有返還至的 alert(s) </script>
-
執行思路
- 如果表示式1為 true ,則返回表示式2的值,如果表示式1為 false,則返回表示式3的值
- 簡單理解: 就類似於 if else (雙分支) 的簡寫
2.5 switch分支流程控制
-
語法結構
switch 語句也是多分支語句,它用於基於不同的條件來執行不同的程式碼。當要針對變數設定一系列的特定值的選項時,就可以使用 switch。
<script> var str = prompt('請你輸入你需要的水果') switch (str) { case '香蕉': alert('香蕉價格3.5一斤'); break; case '榴蓮': alert('榴蓮價格69一斤'); break; default: alert('沒有這個水果') } </script>
-
switch :開關 轉換 , case :小例子 選項
-
關鍵字 switch 後面括號內可以是表示式或值, 通常是一個變數
-
關鍵字 case , 後跟一個選項的表示式或值,後面跟一個冒號
-
switch 表示式的值會與結構中的 case 的值做比較
-
如果存在匹配全等(===) ,則與該 case 關聯的程式碼塊會被執行,並在遇到 break 時停止,整個 switch 語句程式碼執行結束
-
如果所有的 case 的值都和表示式的值不匹配,則執行 default 裡的程式碼
注意: 執行case 裡面的語句時,如果沒有break,則繼續執行下一個case裡面的語句。
-
switch 語句和 if else if 語句的區別
- 一般情況下,它們兩個語句可以相互替換
- switch…case 語句通常處理 case為比較確定值的情況, 而 if…else…語句更加靈活,常用於範圍判斷(大於、等於某個範圍)
- switch 語句進行條件判斷後直接執行到程式的條件語句,效率更高。而if…else 語句有幾種條件,就得判斷多少次。
- 當分支比較少時,if… else語句的執行效率比 switch語句高。
- 當分支比較多時,switch語句的執行效率比較高,而且結構更清晰。
-