gpt4 book ai didi

javascript - 一般从字符串类名在 Javascript 中创建对象

转载 作者:行者123 更新时间:2023-12-03 05:15:21 25 4
gpt4 key购买 nike

是否可以像 Java 一样从字符串类名中创建一个 Javascript 对象?也许某种类型的工厂?

我想要一个数据库来保存类名列表。每个类名都将与一个用户友好的名称相关联。这些用户友好的名称将填充菜单。当用户选择菜单项时,将检索相应的类名并创建类(对象)。我目前在 Java 中做了类似的事情。

例如,而不是

var obj = new demo.view.CustomObject({});

我想要这样的东西

var obj = Factory.create('demo.view.CustomObject', params);

谢谢

最佳答案

您正在寻找的是使用 bracket notation使用字符串访问对象属性。在这里,我创建了一个按点分割字符串的工厂方法。然后使用array reduce我进入构造函数函数并最终创建对象。

function construct(constructorPath, params) {
var constructorFunc = constructorPath.split('.')
.reduce((prev, next) => prev[next], window)
return new constructorFunc(params)
}

// Usage:
var obj = construct('demo.view.CustomObject', someParams)

关于javascript - 一般从字符串类名在 Javascript 中创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41625861/

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