我正在尝试执行以下 JS 代码;
var foo = {
func1:function(){
function test()
{
alert("123");
}();
alert("456");
},
myVar : 'local'
};
但我收到一个错误 SyntaxError: invalid property id
上面的代码有什么问题?
我正在尝试执行以下 JS 代码;
var foo = {
func1:function(){
function test()
{
alert("123");
}();
alert("456");
},
myVar : 'local'
};
但我收到一个错误 SyntaxError: invalid property id
上面的代码有什么问题?
你有一个语法错误:
var foo = {
func1:function() {
function test() {
alert("123");
}();
// ^ You can't invoke a function declaration
alert("456");
},
myVar : 'local'
};
假设您想要一个立即调用的函数,则必须将该函数解析为表达式:
var foo = {
func1:function() {
(function test() {
// ^ Wrapping parens cause this to be parsed as a function expression
alert("123");
}());
alert("456");
},
myVar : 'local'
};
包装()
:
(function test(){
alert("123");
}());
或者:
(function test(){
alert("123");
})();
就我而言,这是非常不同的,在这里为可能遇到相同错误的其他人添加答案。
我有一个像下面这样的对象
var obj = {
case: ''
};
因此,当将case
属性称为obj. case
, ascase
是保留字时,我的编辑器codeMirror
引发了错误。
在我将其重命名后case
,caseNumber
它运行良好。同样不能使用if
, else
orswitch
和其他 JS 关键字,即使作为属性也是如此。