2016-02-18 32 views
0

我在Tone.js中使用的方法需要字符串作爲參數。有沒有辦法將變量分配給頂部,然後將它們保留在引號中?將變量值轉換爲javascript中的字符串

這是作品的符號:

var chain = new Tone.CtrlMarkov({ 
"D2": "D4", 
"D4": ["D2","D3"], 
"D3":"D2" 
}); 

這是我想做的事情(我已經嘗試使用引號的所有組合,相較於未,或使用val1.toString()方法

var val1 = "D2"; //trying using quotes 
var val2 = D4; //trying not using quotes 
var val3 = D3; 

var chain = new Tone.CtrlMarkov({ 
val1: val2, 
val2: [val1,val3], 
val3.toString(): val1 //trying toString method 
}); 

THX!該庫的文檔here 和我的jsfiddle是here

+0

'{...}'是一個**對象文字註釋**。 –

回答

3

這裏{ val1: .., val2: ..., val3: .. }, var1,var2和var3屬性名稱從字面上,comipler將使用它們作爲文字(即文字)。而不是變量值)。所以這是行不通的。

您可以使用object[property]表示法。

您的代碼翻譯:

var var1 = "D1"; 
var var2 = "D2"; 
var var3 = "D3"; 

// create a empty object 
var obj = {}; 

// fill the object with the data using the object[property] 
obj[var1] = var2; // this is equal to obj.D1 = "D2" 
obj[var2] = [ var2, var3 ]; // this is equal to obj.D2 = [ "D1", "D3" ] 
obj[val3] = var1; // this is equal to obj.D3 = "D1" 

// then use the object. 
ar chain = new Tone.CtrlMarkov(obj); 
相關問題