作为参数传递一个函数?
问题描述:
这是我的事件,你可以看到我想发送一个函数作为参数。作为参数传递一个函数?
onclick="deleteItems('image', 'size', function(){GetImageSize();})"
删除函数在一个js文件中。在我的js文件中,我想调用我的GetImageSize()函数。
var deleteItems = function(module, controller, callback) {
callback(); // ??????????
}
我想这样做,所以我可以重建我的表,当我的ajax调用完成。
希望你们能帮助我
问候ORVAR
答
你可以参照的功能,而无需调用它 - 只是不使用结束括号。 parens意味着你正在调用这个函数。在将函数作为回调函数传递给另一个函数的情况下,您希望关闭这些parens。 (你不需要它周围的匿名函数声明。)它应该阅读:
onclick="deleteItems('image', 'size', GetImageSize);"
答
JavaScript函数是first class objects。您可以将函数存储在变量中,并将它们作为参数传递给函数。每个功能实际上都是一个Function
对象。
因此,如果你有一个GetImageSize()
功能,你可以简单地把它传递给deleteItems()
功能就像任何其他变量:
deleteItems('image', 'size', GetImageSize);
仅供参考,星号(*)不是真正的代码。它应该工作,如果你只是删除它们。或者你可以做如下所述。 – 2010-08-26 16:30:05
@Anthony:我删除了星号。我想OP只是想让它们斜体。 – 2010-08-26 16:32:52