Zi 字媒體
2017-07-25T20:27:27+00:00
此篇文章瀏覽量:
720
在 JavaScript 中,所有的函式都屬於物件方法(Object Methods),如果一個函式並不屬於 JavaScript 的物件中的話,那都會隸屬於全域物件中的方法(global object)。而內建的 apply() 函式,可將一個物件當作參數,代入 apply() 函式之後,供不同的函式使用。
call() 函式與 apply() 函式的差異僅在於代入參數的不同,apply() 後面的參數是使用陣列方式來代入,較為方便。call() 函式可參考 [JavaScript] 內建的 call() 函式。
定義
讓一個自訂的函式,透過 apply() 函式,代入物件,自訂的函式,就可透過 this 關鍵字去取得代入物件的屬性。什麼意思呢?直接看以下的範例
範例 1
function fullName(){
return this.firstName + " " + this.lastName;
}
var person1 = {
firstName:"John",
lastName: "Doe",
};
var get_full_name = fullName.call(person1); // get_full_name 的值就會是 John Doe
範例 2
function fullName(country, city){
return this.firstName + " " + this.lastName + " in " + country + " " + city;
}
var person1 = {
firstName:"John",
lastName: "Doe",
};
var get_full_name = fullName.call(person1, ["Taiwan", "Taipei"]); // get_full_name 的值就會是 John Doe in Taiwan Taipei
若覺得文章有幫助,請多分享,讓其他同好也能吸收網站技能知識。
Tweet
寫了
5860316篇文章,獲得
23313次喜歡