定義函數(shù)的方式:
function sum (num1, num2) {
return num1 + num2;
}
//等價(jià)于
var sum = function(num1, num2){
return num1 + num2;
};
函數(shù)內(nèi)部屬性
arguments 它是一個(gè)類數(shù)組對象入问,包含著傳入函數(shù)中的所有參數(shù)食茎。
雖然 arguments 的主要用途是保存函數(shù)參數(shù)芽突,但這個(gè)對象還有一個(gè)名叫 callee 的屬性,該屬性是一個(gè)指針董瞻,指向擁有這個(gè) arguments 對象的函數(shù)寞蚌。
函數(shù)屬性和方法
length 屬性表示函數(shù)希望接收的命名參數(shù)的個(gè)數(shù),
prototype 是保存它們所有實(shí)例方法的真正所在,換句話說钠糊,諸如toString()和 valueOf()等方法實(shí)際上都保存在 prototype 名下挟秤,只不過是通過各自對象的實(shí)例訪問罷了
每個(gè)函數(shù)都包含兩個(gè)非繼承而來的方法:apply()和 call()。
apply()方法接收兩個(gè)參數(shù);
call()方法時(shí)抄伍,傳遞給函數(shù)的參數(shù)必須逐個(gè)列舉出來艘刚,
bind()。這個(gè)方法會創(chuàng)建一個(gè)函數(shù)的實(shí)例截珍,其 this 值會被綁定到傳給 bind()函數(shù)的值攀甚。