J'ai écrit str ="s" ;
puis Nan est apparue et j'ai cherché pendant un moment.
Collectez les données et jugez comme suit :
1. Jugez non défini :
var tmp = undefined;
if (typeof(tmp) == "undefined" ){
alert ("undefined");
}
Explication : typeof renvoie une chaîne, il y a six possibilités : "number", "string", "booléen", "objet", "fonction", "indéfini"
2. Déterminer null :
var tmp = null;
if (!tmp && typeof(tmp)! ="undefined" && tmp! =0){
alert("null");
}
3.
var tmp = 0/0; if(isNaN(tmp)){
alert("NaN");
}
Explication : Si NaN est comparé à n'importe quelle valeur (y compris elle-même) Les résultats obtenus par la comparaison sont tous faux, donc pour déterminer si une valeur est NaN, vous ne pouvez pas utiliser les opérateurs == ou ===.
Astuce : La fonction isNaN() est généralement utilisée pour détecter les résultats de parseFloat() et parseInt() afin de déterminer s'ils représentent des nombres légaux. Bien entendu, vous pouvez également utiliser la fonction isNaN() pour détecter les erreurs arithmétiques, comme l'utilisation de 0 comme diviseur.
4. Juge indéfini et nul :
var tmp = undefined; if (tmp== undefined)
{
alert("null ou undefined");
}
var tmp = undefined; if (tmp== null)
{
alert("null ou non défini" );
}
Explication : null==non défini
Juge non défini, nul et NaN :
Copier le code{ alert("null ou non défini ou NaN"); /span>
Conseil : Généralement, il suffit de l'utiliser si vous ne souhaitez pas faire de différence.