JavaScript 对象方法

实例

  1. var person = {
  2. firstName: "Bill",
  3. lastName : "Gates",
  4. id : 648,
  5. fullName : function() {
  6. return this.firstName + " " + this.lastName;
  7. }
  8. };

JavaScript 方法

JavaScript 方法是能够在对象上执行的动作。

JavaScript 方法是包含函数定义的属性。

属性
firstName Bill
lastName Gates
age 62
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

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

this 关键词

在 JavaScript 中,被称为 this 的事物,指的是拥有该 JavaScript 代码的对象。

this 的值,在函数中使用时,是“拥有”该函数的对象。

请注意 this 并非变量。它是关键词。您无法改变 this 的值。

访问对象方法

请使用如下语法创建对象方法:

  1. methodName : function() { 代码行 }

请通过如下语法来访问对象方法:

  1. objectName.methodName()

您通常会把 fullName() 描述为 person 对象的方法,把 fullName 描述为属性。

fullName 属性在被通过 () 调用后会以函数形式执行。

此例访问 person 对象的 fullName() 方法

实例

  1. name = person.fullName();

如果您访问 fullName 属性时没有使用 (),则将返回函数定义

实例

  1. name = person.fullName;

使用内建方法

此例使用 String 对象的 toUpperCase() 方法,把文本转换为大写:

  1. var message = "Hello world!";
  2. var x = message.toUpperCase();

x 的值,在以上代码执行后将是:

  1. HELLO WORLD!

添加新的方法

向对象添加方法是在构造器函数内部完成的:

实例

  1. function person(firstName, lastName, age, eyeColor) {
  2. this.firstName = firstName;
  3. this.lastName = lastName;
  4. this.age = age;
  5. this.eyeColor = eyeColor;
  6. this.changeName = function (name) {
  7. this.lastName = name;
  8. };
  9. }

changeName() 函数 name 的值赋给了 person 的 lastName 属性。

现在您可以尝试:

  1. myMother.changeName("Jobs");

通过用 myMother “替代” this,JavaScript 清楚您指的是哪个 person。