標籤:
## While迴圈語句
1、與if語句的區別:if語句只執行一次,而while語句會執行多次。
2、用法:每次執行完語句塊後,又會跳回去檢查小括弧裡的布爾值,如果為真,那麼又會執行語句塊一次,直到碰到false停止。
3、注
```
while (true){
console.log(‘heillo‘)
}
```
此代碼為死迴圈,瀏覽器會一直載入,js中應避免該類代碼。
4、while語句中可以出現break,結束整個whlie語句,break只能寫在while的語句塊中,不能單獨寫。
5、continue也可以出現在while中,它只會結束當前一個while循壞,後面的迴圈依然繼續。註:當把continue放在while語句塊的最後時不起作用。
## for迴圈語句
```
for(初始化;測試;遞增){
console.log();
}
```
#### for迴圈代碼執行順序
1、執行小括弧裡的第一個語句。
2、判斷小括弧裡的第二個語句的布爾值,true執行大括弧的語句塊,false結束整個for迴圈。
3、每次執行完大括弧裡的語句塊後,再執行小括弧裡的第三個語句。
4、每次執行完小括弧裡的第三個語句後,跳到第2步。
# 數組 [,,,]
```
var arr=[1,2,3,4,5,100,200,1000];
console.log(arr.length); 數組的長度
console.log(arr[0]) 數組的第一項
```
## js三種引入方式(內嵌(用得少)、內聯、外聯)1、內聯:(寫在head標籤裡)```<script type="text/javascript"> console.log("hello world");</script>```2、外聯:(寫在body內容的最後面,便於最佳化使用者體驗,減少載入時間,先載入出網頁的結構和樣式,最後載入行為部分)```<script type="text/javascript" src="js檔案路徑(相對路徑)"></script>```## 聲明變數var a;(聲明變數a)a=10; (a賦值為10)簡寫為var a=10;## 資料類型 (共5種)分別為數實值型別(number)、字串類型(string)、布爾實值型別(boolean)、null(空)和undefined(未定義),前三種有含義,後兩種無含義。### 數實值型別```var a; a=20;```### 字串符類型```var a; a=‘hello‘```
註:字串外面用‘’和""都可以,但是‘‘更專業。a=‘what\‘s\” this‘\為轉譯,即把原本的意思轉換掉;\n為分行符號### 布爾實值型別true或false## 變數名起名規則- 第一個字元可以是任意Unicode大小寫字母,以及貨幣符號($)和底線(_)。- 第二個字元及後面的字元,還可以用數字。- 不能使用保留字作為變數名也不能用符號
##### *JavaScript保留字*`abstract``boolean` `break` `byte``case` `catch` `char` `class` `const` `continue``debugger` `default` `delete` `do` `double``else` `enum` `export` `extends``false` `final` `finally` `float` `for` `function``goto``if` `implements` `import` `in` `instanceof` `int` `interface``long``native` `new` `null``package` `private` `protected` `public``return``short` `static` `super` `switch` `synchronized``this` `throw` `throws` `transient` `true` `try` `typeof``var` `void` `volatile``while` `with`# 操作符## 一元操作符(只有一個運算元)### 遞增操作符(++)遞減操作符(--)a++和++a都是遞增,但是意義不同- 自增操作符放在運算元的前面(++a),會把運算元加1之後的值作為傳回值。- 自增操作符放在運算元的後面(a++),會把運算元加一之前的值作為傳回值。
``` var a=10; var b=(a++)+(++a); console.log(a,b); 12 22```
### 一元減操作符(-) 取運算元的相反數,也可將其他類型的資料轉換為數字類型。### 一元加操作符(+) 取運算元本身,也可將其他類型的資料轉換為數字類型。### typeof操作符 傳回值是運算元的類型的名稱的字串。## 二元操作符### 算術操作符`+` `-` `*` `/` `%`
註:算術操作符對運算元的類型無限制,都會轉換為數字類型,除了+。
```console.log(10+20); 30 算術加法操作符console.log(10+‘20‘) 1020 字串拼接操作符``` 判斷規則: 只要2個運算元中有一個或2個都為字串,那麼+為拼接操作符。## 邏輯運算子### 邏輯非運算子(一元) (!運算元)用法:- 先求運算元的布爾值- 傳回值為布爾值相反的情況
註:傳回值為布爾值任意類型都可轉為布爾值- 如果為對象-true- Null 字元串-false- 非Null 字元串-true- 數值0-false- 任意非0數值(包括infinity)-true- null-false- undefined-false- NaN-false###邏輯與操作符 (&&)
用法:對第一個運算元取布爾值,若布爾值為true,傳回值為第2個運算元,若布爾值為false,傳回值為第1個運算元。- 註:傳回值可為任意類型資料。
### 邏輯或操作符 (||)用法:對第一個運算元取布爾值,若布爾值為true,傳回值為第1個運算元,若布爾值為false,傳回值為第2個運算元。- 註:傳回值可為任意類型資料。
### 短路操作在與操作符和或操作符中,如果第一個運算元就已經能確定最終返回的結果,那麼就不會去計算第二個運算元了。```var a=10;var b=true&&(a++)console.log(a,b); 11 10``````var a=10;var b=false &&(a++)console.log(a,b); 10 false```
## 關係操作符小於(`<`)、大於(`>`)、小於等於(`<=`)、大於等於(`>=`)這幾個關係操作符用於對兩個值進行比較,比較的規則與我們在上數學課上所學的一樣。這幾個操作符都會返回一個布爾值## 相等操作符 (傳回值為布爾值)相等操作符(`==`)、不相等操作符(`!=`)、全等操作符(`===`)、不全等操作符(`!==`)#### 相等和不相等 => 先轉換為相同類型再比較#### 全等和不全等 => 僅比較而不轉換類型(優先使用)## 賦值操作符簡單的賦值操作符由等號(`=`)表示,起作用就是把右側的值賦給左側的變數。
## 條件操作符(三目運算子)`boolean_expression ? true_value : false_value`
用法:第一個運算元為true,傳回值為第二個運算元 第一個運算元為false,傳回值為第三個運算元
# 運算子的優先順序
| 運算子 | 描述 || ---------------------------------------- | -------------------------- || `++` `--` `-` `+` `~` `!` `delete` `new` `typeof` `void` | 一元運算子、返回資料類型、對象建立、未定義值 || `*` `/` `%` | 乘法、除法、模數 || `+` `-` `+` | 加法、減法、字串串連 || `<<` `>>` `>>>` | 移位 || `<` `<=` `>` `>=` `instanceof` | 小於、小於等於、大於、大於等於、instanceof || `==` `!=` `===` `!==` | 等於、不等於、嚴格相等、非嚴格相等 || `&&` | 邏輯與 ||\\\\| 邏輯或 || `?:` | 條件 || `=` | 賦值、 |運算賦值
下表按從最高到最低的優先順序列出JavaScript運算子。具有相同優先順序的運算子按從左至右的順序求值。 # 條件陳述式 JavaScript提供`if`結構和`switch`結構,完成條件判斷。 ## `if` 結構 文法: ```javascript if(運算式1){ 運算式2; } 運算式3; ``` **說明**: 若運算式1成立,才會執行運算式2,不成立執行運算式3 ## if...else... 語句 文法: ```javascript if(運算式1) { 運算式2; } else { 運算式3; } 運算式4; ``` **說明**: 程式判斷運算式1,成立執行運算式2,不成立執行運算式3,再執行運算式4 ## if...else if... ```javascript if(運算式1) { 運算式2; } else if(運算式3) { 運算式4; } else if(運算式5) { 運算式6; } else { 運算式7; } 運算式8; ```
## switch結構 ```javascript var a = 1; switch(a) { case 1 : console.log(1); break; case 2 : console.log(2); break; case 3 : console.log(3); break; default : console.log("default"); }
js基礎二