【发布时间】:2016-08-25 15:06:41
【问题描述】:
嵌套if怎么样?
$scope.addToCart = function () {
if (flagA) {
if (flagB) {
if (flagC) {
alert('nononono!');
return;
}
}
}
someAnotherFunction();
};
我有一个函数:
$scope.addToCart = function () {
var foo = 5;
if (someFlag == 'Y') {
alert('warning!');
return;
}
someAnotherFunction();
};
我在某处调用这个函数
ng-click = "addToCart()"
如果
,我的意图是退出这个功能someFlag == 'Y'
然后不执行
someAnotherFunction();
但它仍然执行它。
WebStorm 告诉我这个return 是不必要的,所以可以安全地删除它。
【问题讨论】:
-
if (someFlag == 'Y') {条件必须失败。你警觉了吗? -
当代码依赖全局变量时,通常会发生意外行为。
-
@untmat this 回答说 break 可以退出循环而不是函数。
-
当前答案建议使用
else块。虽然这可能会解决您的问题,但首先执行return语句之后的任何内容都是不可能的。您应该弄清楚代码的实际问题是什么,而不是解决它。 -
更可能是
$scope.addToCart()函数被再次调用(在someFlag更改之后),或者someAnotherFunction()被从其他地方调用,而不是@987654334 @ 语句没有在alert()之后立即执行。
标签: javascript angularjs function