我使用angularjs.I創建項目具有可變像檢查null,爲空或未定義angularjs
$scope.test = null
$scope.test = undefined
$scope.test = ""
我要檢查所有空,未定義的空值在一個條件
我使用angularjs.I創建項目具有可變像檢查null,爲空或未定義angularjs
$scope.test = null
$scope.test = undefined
$scope.test = ""
我要檢查所有空,未定義的空值在一個條件
只使用 -
if(!a) // if a is negative,undefined,null,empty value then...
{
// do whatever
}
else {
// do whatever
}
這個工作,因爲從=== JavaScript中的==差異,這將一部分值的「平等「值在其他類型檢查相等,而不是===它只是檢查值是否相等。所以基本上==運算符知道將「」,null,undefined轉換爲false值。這正是你需要的。
你可以做
if($scope.test == null || $scope.test === ""){
// null == undefined
}
如果false
,0
和NaN
也可視爲假值你可以做
if($scope.test){
//not any of the above
}
您可以使用角度函數angular.isUndefined(value)
返回布爾值。
你可以閱讀更多關於角的功能在這裏:AngularJS Functions (isUndefined)
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;
}
這不適用於value = 0; –
我將與布爾打交道時要注意這一點。例如,使用'$ scope。$ watch()'來檢查新值是未定義的還是爲null,但如果該值爲布爾值,則使用您的解決方案將不起作用。 – Charleshaa
您還希望小心數字,因爲您可能想要捕獲未定義和空值,但不是0. –