Javascript 如何将一个函数的输出编程为另一个函数的输入?

Javascript 如何将一个函数的输出编程为另一个函数的输入?,javascript,function,if-statement,switch-statement,expression,Javascript,Function,If Statement,Switch Statement,Expression,如果我有这样一个函数: var danger = 1; function stepLeft() { if (danger == 1) { alert("stop") } else { alert("start") } } …如何生成“alert(“stop”)”或任何其他类似触发器的输出,并为switch语句之类的语句提供表达式输入?所以我可以引发一连串的后果?谢谢 您在这里混合了担忧。alert()是一种UI操作,它不会触发代码中的

如果我有这样一个函数:

var danger = 1;

function stepLeft() {
    if (danger == 1) {
        alert("stop")
    } else {
        alert("start")
    }
 }

…如何生成“alert(“stop”)”或任何其他类似触发器的输出,并为switch语句之类的语句提供表达式输入?所以我可以引发一连串的后果?谢谢

您在这里混合了担忧。
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);
var actionPerformed = stepLeft();
someOtherFunction(actionPerformed);
或者您可以让
stepLeft
返回一个值,其他函数可以使用该值:

function stepLeft() {
    if (danger == 1) {
        alert("stop")
        return "stop";
    } else {
        alert("start")
        return "start";
    }
}
并称之为:

stepLeft(someOtherFunction, yetAnotherFunction);
var actionPerformed = stepLeft();
someOtherFunction(actionPerformed);
这实际上是一个将UI操作与逻辑分离的好机会:

function stepLeft() {
    if (danger == 1) {
        return "stop";
    } else {
        return "start";
    }
}
以及:


关键是,有很多方法可以构造代码,以便一个函数的结果可以被另一个函数使用。

我相信您正在寻找提示?-我不认为这是他的意思。。。问题是,输入另一个人的输入。我相信他想要一份工作prompt@LcSalazar:可能,但在这种情况下,它的描述非常模糊。我不会把提示称为“函数的输出”。是的,这正是我想要的,非常感谢!我的意思是使用“alert()”或任何其他输出作为触发器。我不知道为什么会得-2分,如果不回答我自己的问题,我怎么知道我想做什么?这个网站真的不适合初学者。不过非常感谢@MarkusHallcyon:不要亲自记录选票:)如果我猜的话,社区可能已经否决了投票,因为问题中使用的术语不清楚或模棱两可,而且很难准确地辨别你想要做什么。老实说,我有点猜到你在问什么。但我很高兴我能帮上忙:)问问题的本质是模棱两可的。