search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

[JavaScript] 內建的 call() 函式

此篇文章瀏覽量: 683

在 JavaScript 中,所有的函式都屬於物件方法(Object Methods),如果一個函式並不屬於 JavaScript 的物件中的話,那都會隸屬於全域物件中的方法(global object)。而內建的 call() 函式,可將一個物件當作參數,代入 call() 函式之後,供不同的函式使用。

call() 函式與 apply() 函式的差異僅在於代入參數的不同,call() 後面的參數是使用一個一個的方式來代入,較為不方便。apply() 函式可參考 [JavaScript] 內建的 apply() 函式

定義

讓一個自訂的函式,透過 call() 函式,代入物件,自訂的函式,就可透過 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

call() 方法的第一個參數為物件,後面也可以再帶入其它參數:

function fullName(city){
  return this.firstName + " " + this.lastName + " in " + city;
}
var person1 = {
  firstName:"John",
  lastName: "Doe",
};
var get_full_name = fullName.call(person1, "Taiwan"); // get_full_name 的值就會是 John Doe in Taiwan

若覺得文章有幫助,請多分享,讓其他同好也能吸收網站技能知識。



熱門推薦

本文由 carlos-studiocom 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦