JavaScript SyntaxError:无效的属性id

tes*_*dtv 5 javascript

我正在尝试执行以下JS代码;

var foo = {
  func1:function(){
    function test()
    {
      alert("123");
    }();
    alert("456");
  },
  myVar : 'local'
};
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误SyntaxError:invalid property id

上面的代码有什么问题?

Jam*_*ice 10

您有语法错误:

var foo = {
    func1:function() {
        function test() {
            alert("123");
        }();
//       ^ You can't invoke a function declaration
        alert("456");
    },
    myVar : 'local'
};
Run Code Online (Sandbox Code Playgroud)

假设您想要一个立即调用的函数,您将不得不将该函数解析为表达式:

var foo = {
    func1:function() {
        (function test() {
//      ^ Wrapping parens cause this to be parsed as a function expression
            alert("123");
        }());
        alert("456");
    },
    myVar : 'local'
};
Run Code Online (Sandbox Code Playgroud)