And*_*rew 3 javascript anonymous-function
唯一给我带来问题的是执行匿名函数调用.我甚至打了个电话,看看里面的代码是否有问题; 事实并非如此.
这是我写的格式:
(function(){})();
Run Code Online (Sandbox Code Playgroud)
我很肯定这是正确和标准的使用,但它不断抛出这个 错误:
未捕获的TypeError :(中间值)(中间值)(...)不是函数(匿名函数)
在网站运行时可以在这里找到错误.
上面的代码摘录与我的程序中的代码没有什么不同
给你麻烦的代码是
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,然后调用其返回值(而不是函数),而不是赋值和匿名函数调用.