添加方法
方法是存储在对象属性中的函数。
使用一下方式创建对象函数:
methodName : function() { code lines }
使用以下方式访问对象函数:
objectName.methodName()
this 关键词是当前对象的引用,这意味着您可以使用 this 来访问对象属性和方法。
在构造函数中定义方法:
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");
在上面的示例中,我们定义了一个名为 changeName 的方法,该方法是一个函数,它接受参数名称并将其分配给对象的 name 属性。
添加方法
你也可以在构造函数外部定义一个函数,通过函数名关联到对象的属性上:
function person(name, age) { this.name= name; this.age = age; this.yearOfBirth = bornYear; // 关联 bornYear 函数 } function bornYear() { return new Date().getFullYear() - this.age; }
以上代码中 new Date().getFullYear() 是获取今年完整的年份时间 如:2017 , 如您所见,我们已将对象的 yearOfBirth 属性赋予 bornYear 函数。当通过对象调用 bornYear 函数时, bornYear 函数中 this 指向这个对象。
提示: 请注意,讲函数关联到对象属性时不需要写括号。
function testData (first, second) { this.first = first; this.second = second; this.checkData =; }
调用方法
调用方法:
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
提示:通过对象的属性名调用函数而不是直接调用函数 。