js函式關鍵字
阿新 • • 發佈:2019-01-29
函式定義語句:function 函式名 (引數) {執行語句塊];
呼叫函式是可以傳入任意多的引數而不影響函式呼叫。
arrguments關鍵詞
js的函式內部有一個關鍵詞arguments,這個關鍵詞只在函式內起作用,指向函式呼叫者傳入的所有引數。如:
function test(x)
{
allert(x); //1
for(var i =0;i<arguments.length;i++){
alert(arguments[i]) //1,2,3
}
};
test(1,2,4);
即使在定義函式是沒有定義引數列表,也可以使用arguments獲取傳入的所有引數:
function test()
{
for(var i =0;i<arguments.length;i++){
alert(arguments[i]) //1,2,3
}
};
test(1,2,3);
rest關鍵字
為了得到已定義引數以外 的其他引數,我們可以使用rest關鍵字,rest寫在引數列表的最後面,用...三個點標識。這個關鍵詞會將所有多餘的引數收集為陣列,如果引數不夠或者剛剛好,就會為空陣列。
function foo(x,y,...rest)
{
alert(x);
alert(y);
console.log(rest);
]
foo(1,2,3,4,5)
// 1
//2
//[3,4,5]
this變數
this是一個特殊變數,它指向當前的物件,要保證使用正確,必須用obj.xxx這種形式呼叫。
apply
這是個函式本身的方法,可以通過它改變this的指向。傳入兩個引數,一個是需要繫結的this變數,一個個函式的引數列表,如:fun.apply(obj,[a,b])