[英]Javascript: function as hash value
我想根據找到的輸入調用不同的函數。 如果輸入與鍵之一匹配,我想調用相應的函數-使用一些參數:
var commands = {
'key1': someFunction,
'key2': otherFunction
};
鍵是字符串,為了簡化起見,我創建了command_keys變量:
var command_keys = Object.keys(commands);
我在下面進一步定義了兩個函數:
function someFunction(param) {
// do sth.
};
function otherFunction(param) {
// do sth. else
};
然后,我有條件檢查該鍵並根據找到的鍵調用其中一個函數:
if (command_keys.indexOf(some_string) > -1) {
index = command_keys.indexOf(some_string);
commands[index](some_param);
}
但是,我得到一個錯誤:
Uncaught TypeError: commands[index] is not a function(anonymous function)
感謝您的想法。
我認為您根本不需要command_keys
。 僅使用commands
就可以滿足您在此處描述的內容。
var commands = {
'key1': someFunction,
'key2': otherFunction
};
var command = commands[some_string];
if (typeof command === 'function') {
command(some_param);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.