对象字面量中的方法定义是什么以及何时使用它们?[复制]

What are methods definitions in object literals and when to use them? [duplicate]

提问人:tibx 提问时间:1/27/2023 最后编辑:Sebastian Simontibx 更新时间:1/27/2023 访问量:22

问:

如果我有以下对象文字,我理解并且是 obj 对象的属性valprop

const obj = {
  val: 7,

  prop: function() {
    alert("prop " + this.val);
  },

  met() {
    alert("met " + this.val);
  }
};

obj.prop();
obj.met();

属性包含对匿名函数的引用。此类属性也称为方法prop

在 Visual Studio IntelliSense 中:

  • prop被称为财产
  • met称为方法

  1. 什么?met
  2. 它与 ?prop
  3. 何时使用语法和何时使用?propmet
JavaScript 方法 Object-Literal

评论

1赞 danh 1/27/2023
请参阅 developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...
0赞 danh 1/27/2023
实际上,那个医生神秘地说......“但是,请注意,方法语法并不等同于以函数为值的普通属性——存在语义差异”。我认为最后一句话是你问题的核心。
1赞 Sebastian Simon 1/27/2023
方法是不可构造的,即它们不能与 一起使用。除此之外,它归结为偏好。您也不是匿名的;请参阅匿名函数如何知道其名称?newfunction
2赞 Bergi 1/27/2023
@SebastianSimon我不会说这取决于偏好。除非您需要 ,否则方法定义语法更简洁、更直接、效率稍高(不分配原型对象),并且应该是首选。function

答: 暂无答案