📅  最后修改于: 2023-12-03 15:38:55.476000             🧑  作者: Mango
在 JavaScript 中,我们经常会使用对象来存储和操作数据。当我们需要访问对象中的某个属性时,通常使用点号或中括号引用属性。例如:
const obj = { name: 'Alice', age: 20 };
// 使用点号访问属性
console.log(obj.name); // 输出 'Alice'
// 使用中括号访问属性
console.log(obj['age']); // 输出 20
但是,在某些情况下,我们可能需要将属性作为方法来调用而不是作为字符串返回。例如,假设我们有以下对象:
const obj = {
name: 'Alice',
age: 20,
greet() {
console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`);
}
};
要调用 greet
方法,我们可以使用中括号或点号操作符:
// 使用中括号
obj['greet'](); // 输出 'Hello, my name is Alice and I'm 20 years old.'
// 使用点号
obj.greet(); // 输出 'Hello, my name is Alice and I'm 20 years old.'
注意,如果我们只是引用 greet
属性而不调用它,那么点号或中括号都可以工作;但是,如果我们想要调用该方法,则必须使用括号并在括号内提供任何必要的参数。
在 JavaScript 中,函数也是对象,它们可以具有自己的属性和方法。因此,我们可以创建一个函数作为对象的一个属性,然后将其调用为方法:
const obj = {
name: 'Alice',
age: 20,
greet: function () {
console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`);
}
};
obj['greet'](); // 输出 'Hello, my name is Alice and I'm 20 years old.'
注意,在这里,我们需要使用 function
关键字来定义函数,因为我们在对象文字中使用它。
以上就是如何调用对象的键但作为方法而不是字符串返回的介绍了。希望对你有所帮助!