跳到主要内容

JavaScript 方法和 this 关键字

提示
  1. 方法在JavaScript对象中的应用:在JavaScript中,对象可以包含函数,这种函数称为对象的方法。
  2. 访问对象方法:使用点符号访问对象的方法,必须在方法名后加上()来调用方法。
  3. 使用this关键字:在对象的方法内部,this关键字用于引用对象自身,以便访问该对象的其他属性。

在 JavaScript 中,对象也可以包含函数。例如,

// 包含方法的对象
const person = {
name: "John",
greet: function () {
console.log("你好");
},
};

在上述示例中,person 对象有两个键(namegreet),分别具有字符串值和函数值。

因此,基本上,JavaScript 方法是具有函数值的对象属性。

访问对象方法

您可以使用点符号访问对象方法。语法是:

objectName.methodKey();

您可以通过调用 objectNamekey 来访问属性。您可以通过调用 objectName 和该方法的 key 以及 () 来访问方法。例如,

// 访问方法和属性
const person = {
name: "John",
greet: function () {
console.log("你好");
},
};

// 访问属性
person.name; // John

// 访问方法
person.greet(); // 你好

这里,greet 方法作为 person.greet() 而不是 person.greet 访问。

如果您尝试仅使用 person.greet 访问方法,它将给您一个函数定义。

person.greet; // ƒ () { console.log('你好'); }

JavaScript 内置方法

在 JavaScript 中,有许多内置方法。例如,

let number = "23.32";
let result = parseInt(number);

console.log(result); // 23

这里,Number 对象的 parseInt() 方法用于将数字字符串值转换为整数值。

要了解更多关于内置方法,请访问 JavaScript 内置方法

向 JavaScript 对象添加方法

您也可以在对象中添加方法。例如,

// 创建一个对象
let student = {};

// 添加一个属性
student.name = "John";

// 添加一个方法
student.greet = function () {
console.log("你好");
};

// 访问一个方法
student.greet(); // 你好

在上述示例中,创建了一个空的 student 对象。然后,添加了 name 属性。同样,也添加了 greet 方法。这样,您可以向对象添加方法以及属性。

JavaScript this 关键字

要从同一对象的方法中访问对象的属性,您需要使用 this 关键字。让我们考虑一个示例。

const person = {
name: "John",
age: 30,

// 通过使用 this.name 访问 name 属性
greet: function () {
console.log("名字是" + " " + this.name);
},
};

person.greet();

输出

名字是 John

在上述示例中,创建了一个 person 对象。它包含属性(nameage)和一个方法 greet

greet 方法中,访问对象的属性时使用了 this 关键字。

为了访问对象的属性,使用 this 关键字后跟 .key

注意:在 JavaScript 中,当与对象的方法一起使用时,this 关键字指的是对象。this 绑定到对象上。

然而,对象内部的函数可以以类似于普通函数的方式访问其变量。例如,

const person = {
name: "John",
age: 30,
greet: function () {
let surname = "Doe";
console.log("名字是" + " " + this.name + " " + surname);
},
};

person.greet();

输出

名字是 John Doe