Javascript 对象/类内的函数声明

Javascript 对象/类内的函数声明,javascript,node.js,function,object,declaration,Javascript,Node.js,Function,Object,Declaration,我有以下问题:在Node/Javascript中,为什么这个函数声明在对象或类中是错误的 var obj = { function x() { /* code */ }, bar: function() { /* code */ } }; 第一个函数声明x()cause function x() { ^ SyntaxError: Unexpected identifier 我不明白为什么我不能在对象或类中使用函数关键字,当使用函数x

我有以下问题:在Node/Javascript中,为什么这个函数声明在对象或类中是错误的

var obj = {
  function x() {
    /* code */
  },
  bar: function() {
    /* code */
  }
};
第一个函数声明
x()
cause

  function x() {
           ^

SyntaxError: Unexpected identifier
我不明白为什么我不能在对象或类中使用
函数
关键字,当使用
函数x()
或只是
x()
时有什么区别,只需
x()
就可以了,但是在前面添加
函数
关键字-会导致上述问题。为什么?

在Node/Javascript中,为什么此函数声明在对象或类中是错误的

var obj = {
  function x() {
    /* code */
  },
  bar: function() {
    /* code */
  }
};
当然这是错误的,在JavaScript中,
对象是成对的键/值,用逗号分隔。在编写代码时,您正在破坏这种语法,因为您没有在案例中声明属性,所以在编写
function x()
之前需要指定键

如果您参考,您可以看到:

对象初始值设定项是以逗号分隔的零对或多对列表 对象的属性名称和关联值的集合,包含在 大括号({})

如果您检查,您将看到写入
函数x()
x()
或仅写入
x()
之间的区别

根据语法,这些语法可能是语法:

var o = {
  property: function (parameters) {},
  get property() {},
  set property(value) {}
};
在Node/Javascript中,为什么此函数声明在对象或类中是错误的

var obj = {
  function x() {
    /* code */
  },
  bar: function() {
    /* code */
  }
};
当然这是错误的,在JavaScript中,
对象是成对的键/值,用逗号分隔。在编写代码时,您正在破坏这种语法,因为您没有在案例中声明属性,所以在编写
function x()
之前需要指定键

如果您参考,您可以看到:

对象初始值设定项是以逗号分隔的零对或多对列表 对象的属性名称和关联值的集合,包含在 大括号({})

如果您检查,您将看到写入
函数x()
x()
或仅写入
x()
之间的区别

根据语法,这些语法可能是语法:

var o = {
  property: function (parameters) {},
  get property() {},
  set property(value) {}
};

您需要在Javascript中为它们的对象分配一个键,第二个键有效,因为您为它分配了一个键,即bar,而在第一个键中不是。尝试在函数声明之前添加键,如下所示:

var obj = {
  foo:function x() {
    /* code */
  },
  bar: function() {
    /* code */
  }
};

您需要在Javascript中为它们的对象分配一个键,第二个键有效,因为您为它分配了一个键,即bar,而在第一个键中不是。尝试在函数声明之前添加键,如下所示:

var obj = {
  foo:function x() {
    /* code */
  },
  bar: function() {
    /* code */
  }
};
看一看