JavaScript 函數 Call
- 上一頁 JS 函數調用
- 下一頁 JS 函數 Apply
方法重用
使用 call()
方法,您可以編寫能夠在不同對象上使用的方法。
函數是對象方法
在 JavaScript 中,函數是對象的方法。
如果一個函數不是 JavaScript 對象的方法,那么它就是全局對象的函數(參見前一章)。
下面的例子創建了帶有三個屬性的對象(firstName
、lastName
、fullName
)。
實例
var person = { firstName:"Bill", lastName: "Gates", fullName: function () { return this.firstName + " " + this.lastName; } } person.fullName(); // 將返回 "Bill Gates"
fullName 屬性是一個方法。person 對象是該方法的擁有者。
fullName 屬性屬于 person 對象的方法。
JavaScript call() 方法
call()
方法是預定義的 JavaScript 方法。
它可以用來調用所有者對象作為參數的方法。
通過 call()
,您能夠使用屬于另一個對象的方法。
本例調用 person 的 fullName 方法,并用于 person1:
實例
var person = { fullName: function() { return this.firstName + " " + this.lastName; } } var person1 = { firstName:"Bill", lastName: "Gates", } var person2 = { firstName:"Steve", lastName: "Jobs", } person.fullName.call(person1); // 將返回 "Bill Gates"
本例調用 person 的 fullName 方法,并用于 person2:
實例
var person = { fullName: function() { return this.firstName + " " + this.lastName; } } var person1 = { firstName:"Bill", lastName: "Gates", } var person2 = { firstName:"Steve", lastName: "Jobs", } person.fullName.call(person2); // 將返回 "Steve Jobs"
帶參數的 call() 方法
call() 方法可接受參數:
實例
var person = { fullName: function(city, country) { return this.firstName + " " + this.lastName + "," + city + "," + country; } } var person1 = { firstName:"Bill", lastName: "Gates" } person.fullName.call(person1, "Seattle", "USA");
- 上一頁 JS 函數調用
- 下一頁 JS 函數 Apply