2017-10-15 104 views
0

嗨,大家好!變量中的Javascript函數名稱

請問您可以幫助我的功能嗎? 代碼按計劃執行,但只要我用變量替換下面的'SLL'字符串,就會出錯。

  • 這工作得很好:X = 'SLL'
  • 這不起作用:X = schemename(假設我定義VAR schemename早些時候碼= 'SLL')

請參閱代碼低於

function sll() { 
    return 'got it'; 
} 

var mySchemes = { 
    SLL: sll 
}; 

x = 'SLL'; 
mySchemes[x](); 
+0

我不知道你的意思。你能發佈更多的代碼嗎? – Glund

+0

此代碼格式不正確......您有一個沒有右大括號的開放功能大括號......還有其他什麼東西丟失? –

+0

使用'var schemename ='SLL''沒什麼問題。請編輯你的問題並提供[mcve]。 – Xufox

回答

0

你用什麼來運行代碼?你可以在StackOverflow上運行代碼,看看它運行正常。 可能存在的一個問題是,如果'嚴格使用'正在執行,在這種情況下,您需要明確定義x

function sll() { 
 
    return 'got it'; 
 
} 
 

 
var mySchemes = { 
 
    SLL: sll 
 
}; 
 

 
var x = 'SLL'; 
 
console.log(mySchemes[x]());