我试图通过在一个上下文中创建一个方法并将其存储在全局变量中来利用 Javascript 闭包,以便稍后可以从另一个上下文中调用它。
//Global variable to hold the function
var revertEvent;
//creates the function and assigns it to the global variable
function createRevertFunction(eventToBeReverted) {
revertEvent = function () {
alert("Now Restoring Event");
$('#calendar').fullCalendar('renderEvent', eventToBeReverted, true);
}
}
因此,“createRevertFunction”保存了原始对象的状态。调用此函数后,该对象“eventToBeReverted”会被修改,因此这提供了一种无需刷新页面即可将原始内容恢复到 UI 的方法。
我的问题是我似乎无法调用变量“revertEvent”中的函数。
我已经尝试过:
revertEvent();
revertEvent.call();
window[revertEvent]();
但它们都不起作用。任何帮助将不胜感激...!
最佳答案
我认为这里最可能的问题是您在通过 createRevertFunction
设置之前尝试调用 revertEvent
。要验证此更改,请更改 revertEvent
的声明,如下所示
var revertEvent = function() { alert('not set yet'); }
如果在createRevertFunction
之前调用,则会弹出“尚未设置”警报
关于Javascript:调用存储在变量中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4249383/