javascript - 如何使用javascript将类名作为变量传递

标签 javascript

如何使用 javascript 将类名作为变量传递?

假设我有 Person 类。

我想将类的名称传递给一个函数,以便该函数可以调用该类。

所以函数是

function openClass(name)

我要传进去

openClass('person')

以便openClass调用类person

例如

function openClass(name)
{
    return new name() // here I want this line to actually 
                      // call the class "Person" if that is 
                      // what is passed in as a name parameter,

}

最佳答案

从技术上讲,JavaScript 中没有类。尽管许多第三方库确实在 JavaScript 之上创建了一个类系统。

“类”通常是构造函数。所以如果你有函数的名字,那就是把它从全局范围中挖掘出来。假设函数是全局定义的:

var Constructor = window[name];
return new Constructor();

如果您的函数实际上是在 my.namespace.Person 中定义的,那么它会稍微复杂一些,但总体思路仍然相同。

关于javascript - 如何使用javascript将类名作为变量传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13273348/

相关文章:

当div位于父div顶部时,javascript触发事件

javascript - Angular JS 文本区域验证

javascript - 使用 Facebook Insights 图形 API (JavaScript) 获得准确点击率的最佳方法是什么

javascript - 线程如何帮助使用网络 worker ?

javascript - 如何通过附加图标提高 jQuery 性能?

javascript - 为什么在reduce过程中插入原始数组的项目没有调用Array.reduce函数?

javascript - 计算动态表创建中的行数时出现问题

javascript - CSS - 通过单击按钮显示元素

javascript - 我将如何在 JavaScript 中设置 CSS 渐变背景?

javascript - 将字母字符串转换为数字并在javascript之前添加一个零