Javascript&&操作员逻辑

时间:2015-11-17 12:12:18

标签: javascript angularjs if-statement and-operator

我正在开发角度控制器。由于某种原因,有一个If语句给了我一个问题,是一个if语句。

代码如下:

$scope.new = function(logoFile) {
if($scope.comprobarCampoDesc() && $scope.comprobarCampoFecha() && $scope.comprobarCampoName() ) 
{ 
//program logic
}

还有其他代码:

$scope.comprobarCampoName = function(e) {
//program logic
return bol;
};


$scope.comprobarCampoDesc = function(e) {
//program logic
return bol;
};


$scope.comprobarCampoFecha = function(e) {
//program logic
return bol;
};

好的,由于我无法识别的任何原因,if语句只检查3种方法中的2种,具体取决于顺序。在这个具体案例中,它忽略了" $ scope.comprobarCampoName"但如果我改变顺序,其他方法就是巫婆无法工作。

感谢您的帮助。 问候。

1 个答案:

答案 0 :(得分:2)

在您的情况下,如果其中一个条件等于falseif语句将停止,并且不会进一步迭代。

如果您确实需要执行其中的每一项,我建议您执行以下操作:

var first = $scope.comprobarCampoDesc();
var second = $scope.comprobarCampoName();
var third = $scope.comprobarCampoFecha();

if (first && second && third){
   // execute
}