如果我有这样的功能:
var danger = 1;
function stepLeft() {
if (danger == 1) {
alert("stop")
} else {
alert("start")
}
}
...如何使“alert(”stop“)”或任何其他类似的输出触发并为switch语句提供表达式输入?所以我可以掀起一系列后果的连锁反应?谢谢!
答案 0 :(得分:1)
你在这里混淆了一些问题。 alert()
是一个UI动作,它不会触发代码中的任何内容。它只是在UI上做了一些事情。如果您希望函数在代码中触发其他内容,则需要调用其他内容:
function stepLeft() {
if (danger == 1) {
alert("stop")
someOtherFunction();
} else {
alert("start")
yetAnotherFunction();
}
}
或者,如果功能可以更改,您可以向stepLeft
提供功能:
function stepLeft(stopFunction, startFunction) {
if (danger == 1) {
alert("stop")
stopFunction();
} else {
alert("start")
startFunction();
}
}
并称之为:
stepLeft(someOtherFunction, yetAnotherFunction);
或者您可能stepLeft
返回一个值,其他函数可以使用该值:
function stepLeft() {
if (danger == 1) {
alert("stop")
return "stop";
} else {
alert("start")
return "start";
}
}
并称之为:
var actionPerformed = stepLeft();
someOtherFunction(actionPerformed);
这实际上是将您的UI操作与逻辑分离的好机会:
function stepLeft() {
if (danger == 1) {
return "stop";
} else {
return "start";
}
}
和
var actionPerformed = stepLeft();
alert(actionPerformed);
someOtherFunction(actionPerformed);
关键是,有很多方法可以构造你的代码,以便一个函数的结果可以被另一个函数使用。