我已经定义了一些函数,我希望获得用户输入来调用这些函数。我有以下代码,但无法弄清楚当我使用变量时如何调用实际函数。我假设下面的代码可以工作..
谢谢!
var someFunctions = {
play: function() {
if (player.stopped()) {
player.play();
} else {
return false;
}
}
var getCommand = function(){
var command = prompt("Please enter a command");
if (!(command in someFunctions)) {
alert('command not recognized');
getCommand();
} else {
command();
}
}
getCommand();
答案 0 :(得分:1)
var someFunctions = {
play: function() {
if (player.stopped()) {
player.play();
}
else {
return false;
}
}
};
var getCommand = function(){
var commandInput = prompt("Please enter a command");
var command = someFunctions[commandInput];
if (!command) {
alert('command not recognized');
getCommand();
}
else {
command();
}
};
getCommand();
答案 1 :(得分:0)
您的代码无效的原因是因为您错过了}
的结束someFunctions
。
var someFunctions = {
play: function() {
if (player.stopped()) {
player.play();
} else {
return false;
}
}
} // here
您的通话没问题,您可以按照常规方式调用“变量”功能。 “变量”函数和普通函数之间的唯一区别是你可以在声明它之前调用普通函数(如果你至少在同一个范围内)