我正在使用Javascript Object Literal学习,我也在Chrome的Javascript控制台中测试了此javascript,它返回了Uncaught SyntaxError: Unexpected Identifier
工作代码
"use strict";
var myObject = {
foo: 'bar',
talk : function(){
console.log('Hello world')
}
}
myObject.talk();
console.log(myObject.foo);
但是如果我改为
function talk(){}
"use strict";
var myObject = {
foo: 'bar',
function talk(){
console.log('Hello world')
}
}
myObject.talk();
console.log(myObject.foo);
它抛出以上错误
Uncaught SyntaxError: Unexpected Identifier
。预先感谢。 最佳答案
这是将函数分配给属性的正确语法:
var myObject = {
foo: 'bar',
talk: function thisNameIsOptional() {
console.log('Hello world')
}
};
你也可以这样:
var myObject = {
foo: 'bar',
talk: talk
};
function talk() {
console.log('Hello world')
}
如您所见,语法总是相同的:
{
literal1: (object or function),
literal2: (object or function)
... and so on ...
}
您的问题的第二个错误。
如果这还不够,您有a complete guide for variables and literals on MDN。