【发布时间】:2020-01-26 01:23:19
【问题描述】:
假设我有一个表单的javascript函数:
function(){alert("blah");}
假设我还有一个小程序,它有一个名为 doStuff 的方法,该方法将函数作为参数:
MyApplet.doStuff(function(){alert("blah");});
现在假设小程序根据其计算结果将函数传递给成功或失败的 javascript 回调函数。在那个回调函数中,我想执行该函数,以便用户得到我非常有用的“废话”消息:
function callback(func) {
func();
}
但是,在上面的示例中,func 不再被视为“function”类型(typeof func 将返回“object”)。是否可以将 func 转换为函数以便可以执行?我有很多技巧可以给我想要的东西,但是它们非常丑陋,我希望我错过了一些简单的东西。
非常感谢任何帮助。
【问题讨论】:
-
我不明白。
callback本身是如何传递的? -
小程序传递的这个对象的内容是什么?你可以在萤火虫中检查它吗?如果它有
call()或apply()函数,你可以尝试调用它们。 -
回调函数本身的名称作为参数传递给小程序。从那里,我使用 java 插件 (netscape.javascript.JSObject) 中的 JSObject 来调用它并传递一个包含参数的对象数组。
标签: javascript