1. Convertir d'autres types de données en type numérique
Number()->Strict
parseFloat/parseInt ->Non-strict
isNaN(value ) Si la valeur n'est pas de type numérique, elle appelle d'abord Number pour la convertir en type numérique, puis détermine s'il s'agit d'un nombre valide
Par exemple :
Number("12px" ); ->NaN
parseInt("12px"); ->12
isNaN("12"); ->false
Règle :
1) Convertir le type booléen en nombre vrai->1 faux->0
2) Convertir null/indéfini en nombre nul->0 undéfini->NaN 10 null=10 10 undefined=NaN
3) Pour convertir [] en nombre, appelez d'abord la méthode toString du tableau pour convertir []->"", puis utilisez la méthode Number pour convertir "" -> 0
2. Convertissez d'autres types de données en type booléen
Booléen
!!
! Convertissez d'abord en type booléen, puis annulez
Par exemple :
!!1->true
!!0->false
![]->false !![]- >true
Règle :
Seuls 0, NaN, null, undefined et "" sont faux lorsqu'ils sont convertis en types booléens, et le reste des conversions est vrai
Situation particulière :
S'il n'y a qu'une seule valeur dans votre jugement conditionnel, il convertit d'abord 1 en type booléen (->true), puis juge si elle est vraie ou fausse si la condition est. vrai, la condition est vraie, et vice versa. Pas vrai
if (1) { } if ("3px" * 3) {//->条件不成立 "3px" * 3=NaN ->false } if ("3px" + 3) {//->条件成立 "3px" + 3="3px3" ->true }
" "En JS, ce ne sont pas seulement des opérations mathématiques. c'est une concaténation de chaînes
" -, *, /" ne peut être que des opérations mathématiques en JS Lorsque vous rencontrez des valeurs qui ne sont pas de type nombre, elles doivent être forcées à être converties en nombres pour les opérations mathématiques <.>
3. Comparez deux valeurs (== pour comparaison, = ==Aucune conversion par défaut ne sera effectuée si les types de données de comparaison sont différents). Si les types de données des côtés gauche et droit sont différents, nous devez suivre un ensemble de règles et effectuer une conversion de type de données par défaut value1==value21) Object==Object compare l'adresse mémoire stockée par elle-même Si les adresses mémoire sont différentes, ils ne sont pas égaux []==[]->false Chaque tableau vide est une adresse mémoire distincte
2) Object == String Appelez la méthode toString pour convertir l'objet en chaîne []==" "->true 3) Object == Boolean L'objet est converti en nombre (toString-Number ), Boolean est également converti en nombres (true->1 false->0) []==false ->true []->0 false->0 0==0- >true ![]==false -> Convertissez d'abord le tableau vide en type booléen, puis annulez-le->false false==false->true 4) Object == Number Objet converti en nombre []==0->true [ ]==1->false 5) String == Boolean Les deux convertis en nombre "3 "==true->false "1"==true->true 6) Chaîne == nombre Chaîne convertie en nombre ""==0->true 7)Boolean==Number Convertir le booléen en nombre true==1->true true==2-> false 8)null==undefined ->true null===undefined -> ;false null/undefined n'est égal à aucune autre valeur null==0->false 9)NaN==NaN ->false NaN et toute valeur (y compris Ce qui précède est l'intégralité du contenu de cet article. J'espère que le contenu de cet article pourra apporter de l'aide aux études ou au travail de chacun, j'espère également soutenir le site Web PHP chinois ! Pour plus d'articles sur la conversion de types de données en JavaScript, veuillez faire attention au site Web PHP chinois !