tworzę projekt za pomocą angularjs.I mieć zmienny jakcheck, pusty lub niezdefiniowane angularjs
$scope.test = null
$scope.test = undefined
$scope.test = ""
Chcę sprawdzić wszystkie NULL, wartość niezdefiniowana i pusty w jednym warunkiem
tworzę projekt za pomocą angularjs.I mieć zmienny jakcheck, pusty lub niezdefiniowane angularjs
$scope.test = null
$scope.test = undefined
$scope.test = ""
Chcę sprawdzić wszystkie NULL, wartość niezdefiniowana i pusty w jednym warunkiem
wystarczy użyć -
if(!a) // if a is negative,undefined,null,empty value then...
{
// do whatever
}
else {
// do whatever
}
to działa z powodu różnicy == od === w JavaScript, który przekształca niektóre wartości na „równe "wartości w innych typach w celu sprawdzenia równości, w przeciwieństwie do ===, który po prostu sprawdza, czy wartości są równe. więc w zasadzie operator == wie, aby przekonwertować "", null, undefined na fałszywą wartość. który jest dokładnie tym, czego potrzebujesz.
Można zrobić
if($scope.test == null || $scope.test === ""){
// null == undefined
}
jeśli false
, 0
i NaN
można również uznać za fałszywymi wartościami można po prostu zrobić
if($scope.test){
//not any of the above
}
Można użyć funkcji kątowej o nazwie angular.isUndefined(value)
zwraca wartość boolean.
można przeczytać więcej na temat funkcji kątowych tu: 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);
}
Wyjaśnij swój kod również –
Można również zrobić prostą kontrolę przy użyciu funkcji
$scope.isNullOrEmptyOrUndefined = function (value) {
return !value;
}
Nie zadziałałoby to przy wartości = 0; –
byłbym ostrożny z tym w kontaktach z wartości logicznych. Używając '$ scope. $ Watch()' na przykład, chcesz sprawdzić, czy nowa wartość jest niezdefiniowana lub null, ale jeśli ta wartość jest wartością logiczną, użycie twojego rozwiązania nie będzie działać. – Charleshaa
Należy również zachować ostrożność przy liczbach, ponieważ możesz chcieć złapać niezdefiniowane i zerowe, ale nie 0. –