1. 程式人生 > >js函式關鍵字

js函式關鍵字

函式定義語句: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])