2014-06-16 33 views
0

因此,我目前正在嘗試基於我在函數中稍後要做的其他一些事情來程序性地生成變量名稱。程序生成的變量命名

然而,當我嘗試這是一個試驗功能:

var gridCoord = [[1,2]]; 

var 'run' + gridCoord[0][0] + gridCoord[0][1] = function() { 
    console.log("Success!"); 
} 

run12(); 

我在控制檯收到語法錯誤。

+1

這看起來像一個XY問題的孩子。你真的不想那樣做。你可以使用一個對象。 – elclanrs

+0

我的建議是,除非你想污染全球範圍,否則不要在「窗口」中說出這樣做的快速答案;這只是尋找麻煩。 – elclanrs

+0

@elclanrs別擔心,我試圖儘可能遠離全球範圍。 – JSArrakis

回答

0

你不能這樣做。使用對象的動態命名。

window['run'+gridCoord[0][0]+gridCoord[0][1]] = function() { 

窗口對象是一個全局對象;這些函數可以正常調用,因爲可以調用任何其他全局函數。

0
window['run'+gridCoord[0][0]+gridCoord[0][1] ]= function(){ 
     console.log("Success!"); 
    } 

在全球範圍內,所有變量的窗口屬性