若是你想成爲一名優秀的java架構師,看這裏 → 樂字節免費公開課(騰訊課堂)html
如須要跟多資料請點擊右側(記住入羣暗號:66) → 這是一條不歸路,有禿頭風險,請慎重選擇!java
咱們寫的 JavaScript 代碼都是按照從上到下依次執行,不少時候咱們但願代碼按照咱們的意願去執行,好比有選擇性地執行某些代碼,或者重複地執行某些代碼,這就須要使用到流程控制語句。 數組
流程控制語句一共有三種:架構
1. 流程執行:從上到下,從左到右ide
2. 選擇執行:分支選擇code
3. 循環執行:重複執行htm
if (條件){ 語句體; }
首先執行條件對象
若是結果爲true,則執行語句體;索引
若是結果爲false,則結束if語句。ip
注意:若語句體只有一條語句,能夠省略大括號,但不建議省略
if (條件){ 語句體1; }else { 語句體2; }
首先執行條件
若是結果爲true,則執行語句體1;
若是結果爲false,則執行語句體2。
if(比較表達式1) { 語句體1; }else if(比較表達式2){ 語句體2; }else if(比較表達式3){ 語句體3; } ... [else { 語句體n+1; }]
多個 if ...else 且值爲定值時(即=== 在比較運行結果時,採用的是嚴格相等運算符(===),而不是相等運算符(==),這意味着比較時不會發生類型轉換。) ,可使用 switch 替換:
switch(表達式) { case 值1: 語句體1; break; case 值2: 語句體2; break; ... default: 語句體n+1; [break;] }
break 防止穿透,若是沒有 break,則繼續執行後面的代碼,直到遇到 break 或所有執行完畢,可是有些時候會利用穿透。
循環結構用於重複執行某個操做 簡單理解就是重複執行同類型的代碼,它有多種形式。
先判斷後執行
基本格式 while(判斷條件語句) { 循環體語句; } 擴展格式: 初始化語句; while(判斷條件語句){ 循環體語句; 控制條件語句; // 少了它很容易造成死循環 }
先執行後判斷,至少執行一次
基本格式 do { 循環體語句; }while(判斷條件語句); 擴展格式: 初始化語句; do { 循環體語句; 控制條件語句; } while(判斷條件語句);
for(初始化語句;判斷條件語句;控制條件語句){ 循環體語句; }
條件永遠成立,永遠爲 true,則會產生死循環,下面是最簡單的死循環
while(true){} for(;;){}
break: 中止本層循環
continue:暫停本次循環,繼續下一次
數組是按次序排列的一組數據,每一個值的位置都有編號(從0開始),整個數組用方括號表示。
JS 中定義數組的三種方式以下(也可先聲明再賦值):
var arr = [值1,值2,值3]; // 隱式建立 var arr = new Array(值1,值2,值3); // 直接實例化 var arr = new Array(size); // 建立數組並指定長度
數組的長度能夠經過length屬性來獲取,並能夠任意更改
數組名.length 數組名.length = 新長度
數組中的每個元素均可以被訪問和修改,甚至是不存在的元素,無所謂越界
數組名[下標] 數組名[下標] = 新值
數組的遍歷即依次訪問數組的每個元素 ,JS提供三種遍歷數組的方式:
for(var i=0; i<=數組.length-1; i++){ } 如: for(var idx=0;idx<arr.length;idx++){ console.log(arr[idx]); }
for(var 下標(名稱任意) in 數組名){ 數組名[下標]是獲取元素 } // 下標(名稱任意) 如: for(var idx in arr){ console.log(arr[idx]); }
數組名.forEach(function(element,index){ // element(名稱任意):元素,index(名稱任意):下標 }) 如: arr.forEach(function(elem,idx){ console.log(idx + "-->" + elem); });
數組在使用的時候建議你們規矩來用。在存放數據時,從下標0開始順序的存放數組元素。 若是下標: 1.爲非負整數(包括整數字符串):自動從0開始,不存在添加 undefined 2.爲負數、小數、非數字符串:這些內容不計算在長度內,當成"屬性"處理,至關於自定義屬性。 數組很是靈活,使用數組元素 1.下標: 非負整數(包括整數字符串): 數組.下標 數組[下標] 2.下標:負數、小數、非數字字符串: 數組[屬性] * for --> 不遍歷屬性 * foreach -->不遍歷屬性和索引中的undefined * for in -->不遍歷索引中的undefined
Array對象爲咱們提供了一些方法,能夠很方便地操做數組
push 添加元素到最後 unshift 添加元素到最前 pop 刪除最後一項 shift 刪除第一項 reverse 數組翻轉 join 數組轉成字符串 indexOf 數組元素索引 slice 截取(切片)數組,原數組不發生變化 splice 剪接數組,原數組變化,能夠實現先後刪除效果 concat 數組合並
var arr = ['1','a',5,'3']; console.log(arr); arr.push(10); console.log(arr); arr.unshift('b'); console.log(arr); arr.pop(); console.log(arr); arr.shift(); console.log(arr); arr.reverse(); console.log(arr); console.log(arr.join('\'')); console.log(arr); console.log(arr.indexOf('a')); console.log(arr.slice(2,5)); console.log(arr); arr.splice(1,1,'一','二'); console.log(arr); var arr1 = [0,'100']; console.log(arr.concat(arr1)); console.log(arr); console.log(arr1); console.log(arr1.(arr));