函式的引數
引數是指由外部傳入到函式中的變數,僅作為變數使用,但是該變數可以是任何內容,包括函式,被傳入的引數作為私有變數使用,可以被覆寫掉,引數排列是嚴格按照引數的順序填入的,
JavaScript中函式的引數分為形參和實參,
形參:是在定義函式時使用的引數,目的是用來接收呼叫該函式時傳進來的實際引數,
實參:是在呼叫時傳遞給函式的引數,
function myfun(a,b){ //形參就是a和b
return a+b;
}
console.log(myfun(1,2));//輸出5 //實參就是1和2
函式的形參沒有限制,可以沒有或者多個,形參的數量可以通過函式的length屬性獲取,
function myfun(a,b,c){
return a+b+c;
}
console.log(myfun.length); //回傳3,形參的個數
一般來說,函式的形參和實參個數是相等的,但在JavaScript中沒有規定兩者必須相等,
函式中實參與形參是依次對應的,嚴格按照填入的順序,即第1個實參的值傳遞給第1個形參,第2個實參的值傳遞給第2個形參,以此類推
如果實參個數大于形參,那么多出的實參就無法被形參訪問,不傳遞其值而被忽略掉,
如果形參個數大于實參,那么多出的形參值為undefined,
var myfun=function(m,n){ // 2個形參
document.write("m="+m);
document.write("n="+n);
}
myfun(1,2); // 2個實參,實參等于形參
document.write("<br />");
myfun(1,2,3); // 3個實參,實參大于形參
ocument.write("<br />");
myfun(1); // 1個實參,實參小于形參
輸出結果為:
m=1 n=2
m=1 n=2
m=1 n=undefined
函式也能作為引數傳遞給另一個函式,也可以作為回傳值,有利于進行模塊化編程,如下所示
function a(f,x,y){ //定義一個函式a,里面的形參f就是函式
return f(x,y); //函式a回傳的就是函式f的執行結果
}
function b(x,y){
return x+y;
}
console.log(a(b,1,2));//輸出3,這里的b就是函式b,也就是形參f
如果出現引數的個數不確定 我們可以不定義引數
如果是單純的值傳遞: 形參的賦值,不會影響到實參,但是,如果是參考傳遞,那么變形參的值,相當于改變了參考,會改變實參的值
拓展:JavaScript定義了arguments物件,用于在函式內部執行,arguments.length是可以快速獲取函式的實參個數,使用arguments[n]可以獲取實參的值,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/138134.html
標籤:JavaScript
上一篇:openlayers6地圖全圖以及框選截圖匯出功能(附原始碼下載)
下一篇:vue選項資料+vue模板語法
