【发布时间】:2021-08-25 17:52:19
【问题描述】:
我有SetUpTest() 方法,函数名称将通过获取窗口对象生成脚本的on-load。
testShieldVal.js_name 是可变的,
testShieldVal = window.testObject || {};
SetUpTest = testShieldVal.js_name+"SetUp";
function SetUpTest() {
new atoShieldVal.js_name.OnloadCallback(grecaptcha);
}
如何有效地用动态名称定义这个函数?
【问题讨论】:
-
这似乎是一个 XY 问题;更简单的解决方案是将函数放在带有键的对象中。
-
什么是
atoShieldVal?.js_name的数据类型是什么? -
@trincot 函数体可以忽略,我只需要动态获取函数名,因为它会随着窗口对象的变化而变化。
testShieldVal.js_name = "login";比如说function SetUpTest() { return "testing"; } -
为什么不在
testShieldVal上定义该函数?就像testShieldVal.setup = function () { return "testing"; };一样,动态函数名称总是一个坏主意。
标签: javascript typescript dynamic-loading window-object