2015-06-03 128 views
0

我试过寻找这个,但实际上找不到一个超级简单的答案。使用自定义函数的传递参数创建对象

我想能够创建一个名称由参数给出的对象。

I.e.是这样的:

var createThing = function (param) { 
    var param = new Object(); 
} 

我不想一个对象调用param而与某个对象传递作为参数字符串命名。即如果有人呼叫:

createThing(inventoryA); 

我希望能够有一个对象,创建名为inventoryA

回答

1

你可以试试:

var createThing = function (param) { 
    return window[param] = new Object(); 
} 
createThing('inventoryA'); 
console.log(inventoryA); 

这将在窗口范围内创建一个对象的名称你给了。

的NodeJS你可以使用:

var createThing = function (param) { 
    return global[param] = new Object(); 
} 
+0

会有办法在node.js中做到这一点,而不是在浏览器中运行? –

+0

@JakeMcBride是的,已经更新。 – Yangguang

+0

应该指出,这样做是一个坏主意,尤其是因为它可能会引入难以调试的问题...... – mscdex

相关问题