gpt4 book ai didi

javascript - 更新变量引用

转载 作者:行者123 更新时间:2023-11-30 12:54:04 25 4
gpt4 key购买 nike

我正在尝试为自己构建一个 requireJS 的替代品。

所以我做了类似的事情define('Namespace.test.Test').define(function(){ return 'test'})
现在我需要能够分配 Namespace.test.Test === 'test'

var objects = moduleName.split('.'), //moduleName === 'Namespace.test.Test'
module = Namespace;
for(var i = 1; i < objects.length; i++) {
module = module[objects[i]] = module[objects[i]] || {};
}

但是当我执行 module = defineCallback 时,它只是替换了模块变量,而不是 Namespace.test.Test 变量。

我还没有完全弄清楚的一种肮脏的方式是做这样的事情:

Namespace[objects[1]][objects[2]]

最佳答案

不要一直循环到最后一项。保留一个您可以用来访问该属性的:

for(var i = 1; i < objects.length - 1; i++) {
module = module[objects[i]] = module[objects[i]] || {};
}
var name = objects[objects.length - 1];
module[name] = defineCallback();

关于javascript - 更新变量引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19896020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com