2015-06-03 125 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

相關問題