假设我有3个函数,如下所示:
function1() {
a = 1;
b = 2;
function2(a);
function3(b);
}
function2(a) {
if (a == 1) {
return alert("test")
}
}
function3(a) {
if (a == 2) {
return alert("test")
}
}
现在,如果function3()
返回某些内容,我希望阻止function1()
在function2()
中运行。怎么可能?
答案 0 :(得分:4)
如果出现function2警报,则停止调用function3。你不能return alert()
,因为这会导致未定义。而是让alert
完成,然后return
。并使用return
作为下一个函数调用的条件。以下是更新后的代码:
function function1() {
a = 1;
b = 2;
if (!function2(a)) {
function3(b);
}
}
function function2(a) {
if (a == 1) {
alert("function2 alert");
return true;
}
return false;
}
function function3(a) {
if (a == 2) {
alert("function3 alert");
return true;
}
return false;
}
function1();
答案 1 :(得分:2)
如果function2
返回if块将触发,请尝试以下操作。然后它将运行function3
function1(){
a = 1;
b= 2;
if (!function2(a)) {
function3(b)
}
}
function2(a){
return a ==1
}
function3(a){
return a ==2
}