2016-03-21 77 views

回答

21

只使用 -

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

這個工作,因爲從=== JavaScript中的==差異,這將一部分值的「平等「值在其他類型檢查相等,而不是===它只是檢查值是否相等。所以基本上==運算符知道將「」,null,undefined轉換爲false值。這正是你需要的。

+1

我將與布爾打交道時要注意這一點。例如,使用'$ scope。$ watch()'來檢查新值是未定義的還是爲null,但如果該值爲布爾值,則使用您的解決方案將不起作用。 – Charleshaa

+0

您還希望小心數字,因爲您可能想要捕獲未定義和空值,但不是0. –

2

你可以做

if($scope.test == null || $scope.test === ""){ 
    // null == undefined 
} 

如果false0NaN也可視爲假值你可以做

if($scope.test){ 
//not any of the above 
} 
0
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); 
} 
+0

解釋代碼以及 –

0

您也可以使用功能做一個簡單的檢查,

$scope.isNullOrEmptyOrUndefined = function (value) { 
    return !value; 
} 
+0

這不適用於value = 0; –

相關問題