0
我正試圖使用存儲在變量中的鍵檢索對象內部的回調函數集。我正在使用節點v6.3.1。Javascript object not variable value with variable key
function ManageCommands() {
var scope = this;
scope.commands = {};
return {
addCommand: function (command, callback) {
scope.commands[command] = callback;
},
compileCommands: function() {
return Object.keys(scope.commands);
},
runCommand: function (key) {
console.log('command', key);
console.log('commands', scope.commands);
console.log(scope.commands[key]);
}
};
}
但是試圖訪問內部runCommand回調函數,當它返回undefined:
$ node server.js
command test me
commands { hello: [Function], 'test me': [Function] }
undefined
$ node server.js
command hello
commands { hello: [Function], 'test me': [Function] }
undefined
我覺得我失去了一些東西很簡單,命令式返回的字符串。
我希望console.log(scope.commands[key]);
返回[功能],但沒有發生。
任何見解?
我們需要看到更多的代碼。 server.js如何調用ManageCommands對象?你可以給我們一個jsbin或jsfiddle來重現問題嗎? –
在'runCommand'中,請執行:'console.log('command',JSON.stringify(key))',並且報告你得到的結果。 – trincot