Maison > Article > interface Web > Apprenez la différence et l'utilisation de ! et !!
J'ai trouvé cet usage en regardant le code js d'autres personnes :
if (!!item.value) { param[item.name] = item.value; }
Je n'ai pas étudié le js depuis longtemps, alors je l'ai rapidement ajouté et j'ai trouvé un truc très amusant.
Tutoriel d'apprentissage recommandé : Tutoriel vidéo javascript
L'utilisation de ! en js est relativement flexible, et il est souvent utilisé en complément de faire opérations logiques ! Il peut être utilisé pour le jugement de type ! Utilisez l'objet ci-dessus pour obtenir une valeur booléenne,
1, ! Les variables peuvent être converties en types booléens. La négation des chaînes nulles, non définies et vides est toutes vraie, et les autres sont fausses.
!null=true !undefined=true !''=true !100=false !'abc'=false
2.! ! est souvent utilisé pour le jugement de type.Après la première étape ! (variable), l'opération de négation logique est effectuée. En js, les novices écrivent souvent un code aussi volumineux :
Déterminez si la variable a est non vide et indéfinie. Ou bien le contenu du corps de la méthode ne peut être exécuté que s'il ne s'agit pas d'une chaîne vide.
var a; if(a!=null&&typeof(a)!=undefined&&a!=''){ //a有内容才执行的代码 }
En fait, il suffit d'écrire une expression de jugement :
if(!!a){ //a有内容才执行的代码... }
pour obtenir le même effet que ci-dessus. Ce n'est que lorsque a est une variable avec une signification réelle que la méthode sera exécutée. Sinon, les variables null, undefined et '' " la chaîne vide n'exécuteront pas le code suivant.
peut être résumé comme suit : " ! " est une opération ET logique, et peut être logiquement ET avec n'importe quelle variable pour la convertir en une valeur booléenne. " !! " est l'opération de négation du ET logique, en particulier le code de ce dernier est simple et efficace pour juger les types, éliminant le besoin pour plusieurs fois Code redondant pour déterminer les chaînes nulles, non définies et vides. Ainsi, dans le code au début, ! convertissez d'abord la valeur en une valeur booléenne annulée, puis annulez à nouveau la valeur booléenne résultante. null, non défini ou une chaîne vide, le code dans le corps if ne sera pas exécuté
??? Une autre chose intéressante découverte ???:
<.>
Afficher le résultat du js ci-dessus, emmmmm... ?
?.. .S'échapper...Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!