📜  如何调用对象的键但作为方法而不是字符串返回?(1)

📅  最后修改于: 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 关键字来定义函数,因为我们在对象文字中使用它。

以上就是如何调用对象的键但作为方法而不是字符串返回的介绍了。希望对你有所帮助!