匿名函数导致问题

And*_*rew 3 javascript anonymous-function

唯一给我带来问题的是执行匿名函数调用.我甚至打了个电话,看看里面的代码是否有问题; 事实并非如此.

这是我写的格式:

(function(){})(); 
Run Code Online (Sandbox Code Playgroud)

我很肯定这是正确和标准的使用,但它不断抛出这个 错误:

未捕获的TypeError :(中间值)(中间值)(...)不是函数(匿名函数)

在网站运行时可以在这里找到错误.

上面的代码摘录与我的程序中的代码没有什么不同

use*_*ica 8

给你麻烦的代码是

    ctrl.deleteObject = function(obj){
        var index = ctrl.objects.indexOf(obj);
        if( index > -1 ){
            this.objects.splice(index, 1);
        }
    }
    //}


    // //START GAME
     (function(){
     //ctrl.createObject(new PlayerPaddle(50, 50));
        //ctrl.init();
    })();
Run Code Online (Sandbox Code Playgroud)

删除评论,我们得到

    ctrl.deleteObject = function(obj){
        var index = ctrl.objects.indexOf(obj);
        if( index > -1 ){
            this.objects.splice(index, 1);
        }
    }
     (function(){
    })();
Run Code Online (Sandbox Code Playgroud)

赋值ctrl.deleteObject不会以分号结束,并且下一行的括号看起来像赋值的有效延续,因此Javascript不会为您插入分号.您最终调用您尝试分配的函数ctrl.deleteObject,然后调用其返回值(而不是函数),而不是赋值和匿名函数调用.