js流程控制 分支

2021-10-02 19:14:52 字數 1894 閱讀 1993

流程控制:在乙個程式執行的過程中,各條**的執行順序對程式的結果是有直接影響的,很多時候我們要通過控制**的執行順序來實現我們要完成的功能 ,簡單理解:流程控制就是來控制我們的**按照什麼結構順序來執行。有順序結構,分支結構,迴圈結構

switch與if else if的區別

1,一般情況下,他們兩個語句可以相互替換

2,switch…case語句通常處理case為比較確定值的情況,而if…else語句更加靈活,常用於範圍判斷(大於,等於某個範圍)

3,switch語句進行條件判斷後直接執行到程式的條件語句,效率更高,而if…else語句有幾種條件,就得判斷多少次

4,當分支比較少時,if…else語句的執行效率比switch語句高

5,當分支比較多時,switch語句的執行效率比較高,而且結構更清晰

九九乘法表

var str = 『』;

for (var i = 1; i <= 9; i++) str += 『\n』

} console.log(str);

break continue return 的區別

return:不僅可以退出迴圈,還能夠返回return語句中的值,同時還可以結束當前的函式體內的**

continue退出本次迴圈,繼續下一次迴圈(如(for ,while))

break用於退出整個迴圈(結束當前的迴圈體如(for,while))

arguments的使用

當我們不確定有多少個引數傳遞的時候,可以用arguments來獲取,在js中,arguments實際上它是當前函式的乙個內建物件。所有函式都內建了乙個arguments物件,arguments物件中儲存了傳遞的所有實參

arguments展示的形式是乙個偽陣列,因此可以進行遍歷。

偽陣列有以下特點:

1,具有length屬性

2, 按索引方式儲存資料

3,不具有陣列的push,pop等方法

只有函式才有arguments物件,而且每個函式都內建好了這個arguments

js的作用域

概述:通常來說,一段程式**中所用到的名字並不總是有效和可用的,而限定這個名字的可用性的**範圍就是這個名字的作用域。作用域的使用提高了程式邏輯的區域性性,增強了程式的可靠性,減少了名字衝突(就是**名字變數在某個範圍內起的作用和效果,目的是為了提高程式的可靠性 減少命名衝突)

全域性作用域:整個script標籤,或者是乙個單獨的js檔案

區域性作用域:在函式內部就是區域性作用域 這個**的名字只在函式內部起效果和作用

變數的作用域:根據作用域的不同我們把變數分為全域性變數與區域性變數

全域性變數:在全域性作用域下的變數,在全域性下都可以使用

注意:如果在函式內部沒有宣告直接賦值的變數也屬於全域性變數

區域性變數:在區域性作用域下的變數,後者在函式內部的變數就是區域性變數

注意:函式的形參也可以看做是區域性變數

全域性變數與區域性變數的區別

全域性變數只有瀏覽器關閉的時候才會銷毀,比較佔記憶體資源

區域性變數:當程式執行完畢就會銷毀,比較節約記憶體資源

js沒有塊級作用域

作用域鏈

只要是**,就至少有乙個作用域

寫在函式內部的叫區域性作用域

如果函式中還有函式,那麼在這個作用域中就又可以誕生乙個作用域

根據在內部函式可以訪問外部函式變數的這種機制,用鏈式查詢決定哪些資料能被內部函式訪問,就稱作作用域鏈

流程控制 if分支結構

摘要 就像其他程式語言,shell指令碼程式也提供了分支。舉個例子 x 5if x 5 then echo x equals 5.else echo x does not equal 5.fiif 語句語法如下 if commands then commands elif commands then...

流程控制 分支 if語句

if語句的功能比較多,是進行決策的有效方式。與?語句不同的是,if語句沒有結果 所以不在賦值語句中使用它 使用該語句是為了有條件的執行其他語句。if語句最簡單的語法如下 if is true 先執行 其計算結果必須是乙個布林值,這樣 才能編譯 如果的計算結果是true,就執行該語句下面的 在這段 執...

JS流程控制

1.if語句if else if else 當只有乙個條件判斷時,可以都省略2.switch語句常用於值的匹配全等 switch 特殊使用 1.省略break關鍵字,會從當前匹配到的case開始向後執行所有的 語句 2.多個case共用 段 case case case 段break 1.while...