我有一个动态加载的外部javascript文件,它有一个oncomplete=变量,它每次调用它时都会增加它的值。例如:
因此,每次我都需要动态创建函数来执行oncomplete=回调。这意味着,我需要用以下名称创建函数:
这是我当前的代码,它创建了一个特定的名称函数:
var sayHello = function (){
console.log('hello');
};
sayHello();问题是:如何使用jQuery?中动态生成的名称创建时态函数?
发布于 2015-02-02 20:28:49
这更像是一个纯粹的javascript问题。为了简单起见,假设全局范围(窗口),
var sayHello = function () { /* body */ };等于
window['sayHello'] = function () { /* body */ };现在,很明显,你不想像这样污染全局范围,所以你可以对任何其他对象做同样的事情。
dynamicFunctions = {};
var oncomplete = 'sayHello1';
dynamicFunctions[oncomplete] = function () { console.log('hello'); };
dynamicFunctions[oncomplete]();
// outputs hello to the console但是,有一件事要记住,那就是为什么你一开始就这样做。因为我不确定你的具体要求,你为什么不能这样做呢?
// load external.js?oncomplete=sayHello&increment=4
sayHello(increment);https://stackoverflow.com/questions/28285962
复制相似问题