我希望之前已经提出这个问题,但我已经搜索过,找不到正确答案。
如果调用了一个函数,并且在执行该函数时,另一个函数用于检查某些内容,那么如何从第二个函数中暂停初始函数?
a(1);
function a(v){
check(v);
alert "value correct";
// continue
}
function check(v){
if ( v!=1 ){
alert "stop here number wrong";
return;
}
}
答案 0 :(得分:2)
您有两种选择:在需要时传递返回值或只传递return
。
a(1);
function a(v){
var stopped = false;
if (v==1){
stopped = stop();
}
if (stopped) {
return;
}
alert("did not stop");
}
function stop(){
alert("I want it to stop here");
return true;
}
Return
更简单:当您致电return
时,只需stop()
:
a(1);
function a(v){
if (v==1){
stop();
return;
}
alert("did not stop");
}
function stop(){
alert("I want it to stop here");
}
P.S。你不能alert "foo";
- 你需要括号,比如alert("foo");
。
答案 1 :(得分:1)
做这样的事情:
a(1);
function a(v){
if (v == 1){ // don't do anything }
else { /** DO SOMETHING **/ }
}
答案 2 :(得分:1)
当您希望它停止运行时,让函数返回
请参阅下面的代码中的注释以了解更改:
a(1);
function a(v) {
if (v == 1) {
// You may not even need this function
// Just place a return 0; instead
stop();
// Have the parent function stop executing
// As well as the child function
return 0;
}
// Make sure to use parenthesis ()
// When using "alert" function
alert("did not stop");
}
function stop() {
alert("I want it to stop here");
return 0;
}