是否可以通过另一个功能停止一个功能?
我想要这样的事情:
function foo()
{
bar();
/*if is ok, then continue, else break*/
}
function bar()
{
if(!/**condition**/) stop foo();
}
我知道这可以通过使用类似的东西来实现:
function foo()
{
if(!bar()) return;
}
但也许有更好的方法?
示例:
var dk = new function() {
this.doSomething() {
this.em("some_id") || return;
};
this.em(data) {
return document.getElementById(data);
};
};
答案 0 :(得分:0)
在你的函数中,你无法告诉调用函数停止执行。
您建议的第二个版本是实现此行为的常见做法 - 让函数返回true
如果成功则返回false
如果没有,则让调用函数决定做什么(即打破执行。)
另一种方法可能是抛出异常。你应该考虑自己在你的情况下可能更有用的东西
答案 1 :(得分:0)
我想你已经回答了自己......
bar()
函数可以进行所需的所有检查或代码,然后将true
或false
返回到调用函数foo()
根据返回的值,您决定继续执行代码还是停止代码。