search

Add method

目录列表

添加方法

添加方法

方法是存储在对象属性中的函数。

使用一下方式创建对象函数:

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 属性。

方法中的“this”关键字是指:

添加方法

添加方法

你也可以在构造函数外部定义一个函数,通过函数名关联到对象的属性上:

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 指向这个对象。

提示: 请注意,讲函数关联到对象属性时不需要写括号。


请将下面的“testData”构造函数与名为“mymethod”的方法相关联:

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

提示:通过对象的属性名调用函数而不是直接调用函数 。


为了在函数中使用对象的属性,请使用:

1/6