将函数作为参数传递?

时间:2010-08-26 16:20:58

标签: javascript

这是我的活动,你可以看到我想发一个函数作为参数。

onclick="deleteItems('image', 'size', function(){GetImageSize();})"

删除功能位于js文件中。在我的js文件中,我想调用我的GetImageSize()函数。

var deleteItems = function(module, controller, callback) {
   callback(); // ??????????    
}

我想这样做,所以当我的ajax调用结束时我可以重建我的表。

希望你们能帮助我

关心Örvar

2 个答案:

答案 0 :(得分:3)

您可以参考该功能,而无需调用它 - 只是不要使用结束的parens。 parens意味着你正在调用这个函数。在将函数作为回调传递给另一个函数的情况下,您希望关闭该parens。 (并且你不需要围绕它的匿名函数声明。)它应该是:

onclick="deleteItems('image', 'size', GetImageSize);"

答案 1 :(得分:3)

JavaScript函数是first class objects。您可以将函数存储在变量中,并将它们作为参数传递给函数。每个函数实际上都是Function对象。

因此,如果你有一个GetImageSize()函数,你可以像其他任何变量一样将它传递给deleteItems()函数:

deleteItems('image', 'size', GetImageSize);