JS中的迴圈結構、迴圈嵌套以及函數介紹

來源:互聯網
上載者:User

標籤:資料   onload   法則   修改   元素   大寫   支援   sum   load   

【迴圈結構的步驟】
    *①聲明迴圈變數
    *②判斷迴圈條件
    *③執行迴圈體(while的{}中的所有代碼)操作
    *④更新迴圈變數
    *
    * 然後,迴圈執行②③④
    *
    *
    * 【JS中迴圈條件支援的資料類型】
    * ①boolean:true 真     false   假
    * ②string: 非Null 字元串為真       Null 字元串為假
    * ③null/NaN/undefined:  全為假
    * ④object:全為真
    * ⑤number:0為假,一切非0均為真

 

while迴圈特點:先判斷,再執行;
do-while迴圈特點:先執行,再判斷;即使初始條件不成立,do-while迴圈也至少執行一次;

 

 [for迴圈]
    * 1、for迴圈有三個運算式,分別為:①定義迴圈變數②判斷迴圈條件③更新迴圈變數
    *  三個運算式之間,用;分隔
    *  for迴圈三個運算式均可省略,兩個;缺一不可
    *
    * 2、for迴圈特點:先判斷,再執行;
    * 3、for迴圈三個運算式,均可以有多部分組成,之間用逗號分隔,但是第二部分判斷條件用&&連結,最終結果需要為真/假

 

【迴圈控制語句】
    *
    * 1、break:終止本層迴圈,繼續執行迴圈後面的語句;
    *    當迴圈有多層時,break只會跳過一層迴圈;
    * 2、continue:跳過本次迴圈,繼續執行下一次迴圈;
    *     對於for迴圈,continue執行後,繼續執行迴圈變數更新語句n++
    *     對於while,do-while,continue執行後,繼續執行迴圈條件判斷;所以使用這兩個迴圈時,必須注意:continue一定要在n++之後使用;

 

[迴圈嵌套特點]
    * 外層迴圈轉一次,內層迴圈轉一圈;
    *
    * [做圖形題思路]
    *
    * 1、確定圖形一共幾行,即為外層的迴圈的次數;
    * 2、確定每行有幾種元素,代表有幾個內層迴圈;
    * 3、確定每種元素的個數,即為每個內層迴圈的次數;
    *  tips:通常,找出每種元素個數,與行號的關係式,即為當前內層迴圈的最大值;

 

瀏覽器控制台列印輸出
    *
    * console.log("請輸入0-6之間的數字\n111");
    *
    * \n 表示換行 
    *
    * \t 定位字元,使游標退到下一個製表位。(每個製表位,4個字元;前一製表位若不滿4個字元,則後面內容在下一格顯示;前一製表位若滿4個字元,則後面內容空一個顯示;)
    */
   //console.log("請輸入0-6之間的數字\n1111\t2\t333");

 

【函數的聲明及調用】
    * 1、函式宣告的格式:
    * >>>function 函數名(參數1,參數2,……){
    *  //函數體
    *  return 結果;
    * }
    * >>>函數調用的格式:
    * 直接調用:函數名(參數1的值,參數2的值,……);
    * 事件調用:事件名=函數名();
    * 2、函式宣告的幾點強調:
    * ①函數名的聲明,必須符合小駝峰法則(首字母小寫,之後每個單字首大寫);
    * ②參數列表:可以有參數,可以無參數,分別稱為有參函數,無參函數;
    * ③聲明函數時的參數列表,稱為“形參列表”(變數的名);
    *  調用函數時的參數列表,稱為“實參列表”(變數的值);
    * 函數中實際有效參數取決於實參的賦值,未被賦值的形參,將為undefined;
    * ④函數如果需要傳回值,可用return返回結果;
    * 調用函數時,使用var 變數名=函數名();的方式,接受返回結果;
    * 如果函數沒有傳回值,則接受的結果為undefined。
    * ⑤函數中變數的範圍:
    * 在函數中,使用var聲明的變數,預設為函數局部變數,只在函數內容能用;
    *   不使用var聲明的變數,預設為全域變數(函數中的全域變數,必須在函數調用後,才能使用);
    * 函數的形參列表,為函數局部列表,只在函數內部能用;
    * ⑥函式宣告與函數調用沒有先後之分。即,調用語句可寫在聲明語句之前。

 

【JS中代碼執行順序】:
    * JS中代碼運行,會先進行檢查、裝載,即聲明變數、函數等操作;
    * 然後再進入執行階段(變數的賦值等屬於執行階段)
    *
    * 所以,函數的聲明屬於檢查裝載階段,函數的調用屬於執行階段。所以,函數調用語句寫在函式宣告語句之前,並沒有任何關係。
    *
    * 所以,上述代碼,執行流入
    * --------檢查裝載階段---------
    * var sum;//聲明變數
    * function funcN(){}//聲明函數
    *
    * --------執行階段-------
    * console.log(num);
    * num=10;
    * funcN();//執行函數的{}中代碼

 

【匿名函數的聲明及調用】
    * 1、聲明一個匿名函數,直接賦給某個事件;
    *  window.onload=function(){}
    * 2、使用函數運算式聲明匿名函數;
    *  聲明函數運算式var func=function(){}
    *  調用函數運算式: func();
    *  >>>使用匿名函數運算式,則調用語句,必須在聲明語句之後,否則報錯(對比常規函式宣告與調用區別?)
    * 3、使用自執行函數,聲明並直接調用匿名函數:
    * ① !function(參數1){}(參數1的值);//使用任意運算子開頭,一般使用!
    * ② (function(){}())//使用()將匿名函數及之後的括弧包裹
    * ③ (function(){})()//使用()只包裹匿名函數運算式
    *
    * 三種寫法特點:
    * ①結構清晰,開頭加!,結尾加(),不容易亂,推薦使用;
    * ②可以表明匿名函數與之後的()為一個整體,推薦使用;
    * ③無法表明函數與之後()為一個整體,不推薦使用;

 

[arguments對象]
    *
    * 1、作用:用於儲存調用函數時,所賦值的實參列表。
    *  >>>當我們調用函數,並使用實參賦值時,實際上參數已經儲存到arguments數組中,即使沒有形參,也可以使用arguments[n]的形式調用參數;
    * 2、arguments數組的個數,取決於實參列表。與形參無關(順序從0開始);
    *  但,當第N個位置的形參、實參、arguments都存在時,形參與arguments是同步的。(即在函數中修改其中一個的值,另一個會同步變化)
    *
    * 3、arguments.callee是arguments的重要屬性,用於返回arguments所在函數的引用;
    *
    *  arguments.callee()可以調用自身函數執行;
    *
    * 在函數內部調用函數自身的寫法,被稱為遞迴,所以arguments.callee()是遞迴調用時常用的方式;
    *
    *
    * this:
    * 指向函數調用語句所在範圍,即:誰調用函數,this指向誰;

JS中的迴圈結構、迴圈嵌套以及函數介紹

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.