標籤:資料 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中的迴圈結構、迴圈嵌套以及函數介紹