在javascript中定义动态函数



我有SetUpTest()方法,函数名将通过获取窗口对象生成脚本的on-loadtestShieldVal.js_name是可变的,

testShieldVal = window.testObject || {};
SetUpTest = testShieldVal.js_name+"SetUp";
function SetUpTest() {
new atoShieldVal.js_name.OnloadCallback(grecaptcha);
}

如何使用动态名称有效地定义此函数?

如果我正确理解您的问题,那么您希望定义一个具有动态名称的函数。

在这种情况下,您应该使用window[functionName] = function() { ... }将方法添加到window对象

这导致:

testShieldVal = window.testObject || {};
SetUpTest = testShieldVal.js_name+"SetUp";
window[SetUpTest] = function {
new atoShieldVal.js_name.OnloadCallback(grecaptcha);
}

window.testObject.js_name为"Demo"时,则可以通过DemoSetUp()调用您的函数。这将自动在window对象中查找具有该名称的方法。

最新更新