检查null、空或未定义的angularjs

检查null、空或未定义的angularjs,angularjs,Angularjs,我正在使用angularjs创建一个项目 $scope.test = null $scope.test = undefined $scope.test = "" 我想在一个条件下检查所有空值、未定义值和空值 if($scope.test == null || $scope.test === ""){ // null == undefined } 如果false,0和NaN也可以被视为false值,您可以这样做 if($scope.test){ //not any of the abov

我正在使用angularjs创建一个项目

$scope.test = null
$scope.test = undefined
$scope.test = ""
我想在一个条件下检查所有空值、未定义值和空值

if($scope.test == null || $scope.test === ""){
  // null == undefined
}
如果
false
0
NaN
也可以被视为false值,您可以这样做

if($scope.test){
 //not any of the above
}

您可以使用angular的函数
angular.isUndefined(value)
返回布尔值

您可以在此处阅读有关angular函数的更多信息:

只需使用-

if(!a) // if a is negative,undefined,null,empty value then...
{
    // do whatever
}
else {
    // do whatever
}

这是因为==与javascript中的===不同,后者将一些值转换为其他类型中的“相等”值以检查是否相等,而===则只是检查值是否相等。因此,基本上==运算符知道如何将未定义的“”null转换为假值。这正是您需要的。

您还可以使用函数进行简单检查

if($scope.test == null || $scope.test == undefined || $scope.test == "" ||    $scope.test.lenght == 0){

console.log("test is not defined");
}
else{
console.log("test is defined ",$scope.test); 
}
$scope.isNullOrEmptyOrUndefined = function (value) {
    return !value;
}
你可以做简单的检查


您可以执行的一项非常简单的检查:

解释1:

if (value) {
 // it will come inside
 // If value is either undefined, null or ''(empty string)
}
解释2:

(!value) ? "Case 1" : "Case 2"
如果值为未定义、null或“”,则情况1
否则,对于任何其他值的情况2。

在处理布尔值时,我会小心处理。例如,使用
$scope.$watch()
可以检查新值是未定义的还是空值,但如果该值是布尔值,则使用您的解决方案将不起作用。您还需要注意数字,因为您可能希望捕获未定义的和空值,而不是0。
(!value) ? "Case 1" : "Case 2"