添加方法
方法是存儲(chǔ)在對象屬性中的函數(shù)。
使用一下方式創(chuàng)建對象函數(shù):
methodName : function() { code lines }
使用以下方式訪問對象函數(shù):
objectName.methodName()
this 關(guān)鍵詞是當(dāng)前對象的引用,這意味著您可以使用 this 來訪問對象屬性和方法。
在構(gòu)造函數(shù)中定義方法:
function person(name, age) { this.name = name; this.age = age; this.changeName = function (name) { this.name = name; } } var p = new person("Loen", 28); p.changeName("John");
在上面的示例中,我們定義了一個(gè)名為 changeName 的方法,該方法是一個(gè)函數(shù),它接受參數(shù)名稱并將其分配給對象的 name 屬性。
添加方法
你也可以在構(gòu)造函數(shù)外部定義一個(gè)函數(shù),通過函數(shù)名關(guān)聯(lián)到對象的屬性上:
function person(name, age) { this.name= name; this.age = age; this.yearOfBirth = bornYear; // 關(guān)聯(lián) bornYear 函數(shù) } function bornYear() { return new Date().getFullYear() - this.age; }
以上代碼中 new Date().getFullYear() 是獲取今年完整的年份時(shí)間 如:2017 , 如您所見,我們已將對象的 yearOfBirth 屬性賦予 bornYear 函數(shù)。當(dāng)通過對象調(diào)用 bornYear 函數(shù)時(shí), bornYear 函數(shù)中 this 指向這個(gè)對象。
提示: 請注意,講函數(shù)關(guān)聯(lián)到對象屬性時(shí)不需要寫括號。
function testData (first, second) { this.first = first; this.second = second; this.checkData =; }
調(diào)用方法
調(diào)用方法:
function person(name, age) { this.name= name; this.age = age; this.yearOfBirth = bornYear; } function bornYear() { return new Date().getFullYear() - this.age; } var p = new person("Loen", 27); document.write(p.yearOfBirth()); // -> 1990
提示:通過對象的屬性名調(diào)用函數(shù)而不是直接調(diào)用函數(shù) 。