標籤:括弧 運行 表達 返回結果 判斷 load break 調用 對比
【迴圈控制語句】
1、break:終止本層迴圈,繼續執行迴圈後面的語句;
當迴圈有多層時,break只會跳過一層迴圈;
2、continue:跳過本次迴圈,繼續執行下一次迴圈;
對於for,continue執行後,繼續執行迴圈變數更新語句n++
對於while,do-while,continue執行後,繼續執行迴圈條件,判斷;所以使用這兩個迴圈時必須注意
continue一定要在n++之後,否則會造成死迴圈。
【嵌套迴圈特點】
外層迴圈控制行數,內層迴圈控制每行元素個數
[做圖形題思路]
1、確定圖形一共幾行,即為外層的迴圈的次數;
2、確定每行有幾種元素,代表有幾個內層迴圈;
3、確定沒種元素的個數,即為每個內層迴圈的次數;
Tips:通常,找出每種元素個數,與行號的關係式,即為當前內層迴圈的最大值(從1開始迴圈)
【函數的聲明及調用】
1、函式宣告格式:
function 函數名(參數1,參數2,……){
// 函數體
return 結果
}
>>>函數調用的格式:
函數名(參數1的值,參數2 的值,……)
2、函式宣告的幾點強調:
①函數名的聲明:必須符合小駝峰法則(首字母小寫,之後每一個單字首大寫);
②參數列表:可有、無參數,分別為有參函數和無參函數;
③聲明函數時的參數列表,稱為“形參函數”(變數的名);
調用函數時的參數列表,稱為“實參函數”(變數的值);
函數中,實際有效參數取決於實參的賦值,未被賦值的形參,將為
Undefined;
④函數如果需要傳回值,可用return返回結果,
調用函數時,使用var 變數名=函數名();的方式,接受返回結果;
如果函數沒有傳回值,則接受的結果為Undefined。
⑤函數中變數的範圍:
在函數中,使用var聲明的變數,預設為函數局部變數,只在函數內部能用;
不用var聲明的變數,預設為全域變數(函數中的全域變數,必須在函數調用後才能使用)
函數的形參列表,為函數局部變數,只在函數內部使用;
⑥函式宣告與函數調用,沒有先後之分。即,調用語句可寫在聲明語句之前。
【匿名函數的聲明及調用】
1、聲明一個匿名函數,直接賦給某個事件;
window.onload=function(){}
2、使用函數運算式,聲明匿名函數:
聲明函數運算式:var func = function(){}
調用函數運算式:func();
>>>使用匿名函數運算式,則調用語句,必須在聲明語句之後,否則報錯(對比常規函式宣告與調用區別)
3、使用自執行函數,聲明並直接調用匿名函數:
!function(參數1){}(參數1的值); //使用任意運算子開頭,一般使用!
(function(){}()) //使用()將匿名函數及之後的括弧包裹
(function(){})() //使用()只包裹匿名函數運算式
三種寫法特點:
①結構清晰,開頭加!,結尾加(),不容易亂,推薦使用
②可以表明匿名函數與之後的()為一個整體,推薦使用
③無法表明匿名函數與之後的()為一個整體,不推薦使用
【函數內部的屬性】
[Arguments對象]
1、作用:用於儲存調用函數時,所賦值的實參列表。
>>>當我們調用函數,並使用實參賦值時,實際上參數已經儲存到arguments數組中,
即使沒有形參,也可以使用arguments[n]的形式調用參數;
2、arguments數組個數取決於實參列表,與形參無關;
但,當第N個位置的形參,實參,arguments都存在時,
形參與arguments是同步的。(即在函數中修改其中一個的值,另一個會同步
變化)
3、arguments.callee是arguments的重要屬性,用於返回arguments所在函數的引用;
arguments.callee()可以調用自身函數執行;
在函數內部調用函數自身的寫法,被稱為遞迴,所以arguments.callee()是遞迴調用時常用的方法;
[this]
函數調用語句所在的範圍,即誰調用函數,this指向誰;
【JS中代碼的執行順序】
console.log(num);
var num = 10;
function func(){}
JS中代碼運行,會先進行檢查、裝載,即聲明變數、函數等操作;
然後再進入執行階段,(變數的賦值等屬於執行階段)
所以,函數的聲明屬於檢查裝載階段,函數的調用屬於執行階段,
so,函數調用語句寫在函式宣告語句之前,並沒有任何關係。
所以上述代碼執行流程:
------檢查裝載階段--------
var num; //聲明變數
function funcN() //聲明函數
------執行階段-----------
console.log(num);
num=10;
funcN(); //執行函數的{}中的代碼
JS基礎,你需要掌握的要點!