Javascript 对象/类内的函数声明
我有以下问题:在Node/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
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 */
}
};
看一看