Dans les applications de développement js, nous rencontrons généralement "|" et "||", alors que signifient "|" et "||" dans les opérations ? Cet article présente principalement l'explication détaillée de l'utilisation des opérateurs js à barre verticale unique "|" et "||".
Dans les applications de développement js, nous rencontrons généralement "|" et "||", alors que signifient "|" et "||" dans les opérations ?
En opération js entier, cela équivaut à supprimer le point décimal, parseInt. Lorsqu'il s'agit d'un nombre positif, cela équivaut à Math.floor(), lorsqu'il s'agit d'un nombre négatif, cela équivaut à Math.ceil() Remarque :
1 Math.ceil() est utilisé. pour arrondir.
2. Math.floor() est utilisé pour arrondir.
3. Math.round() L'arrondi est couramment utilisé dans nos mathématiques.
console.log(0.6|0)//0 console.log(1.1|0)//1 console.log(3.65555|0)//3 console.log(5.99999|0)//5 console.log(-7.777|0)//-7
Règles de fonctionnement des barres verticales simples
Après avoir lu l'exemple ci-dessus, nous savons généralement que les barres verticales simples peuvent être extrait L'opération d'intégration signifie que seule la partie positive est conservée et la partie décimale est supprimée. Mais comment « |0 » est-il calculé ? Pourquoi « |0 » peut-il atteindre l'objectif d'arrondi ? Si la barre horizontale et verticale n’est pas 0, que serait-elle ?
Avec ces questions, regardons l'exemple suivant :
console.log(3|4); //7 console.log(4|4);//4 console.log(8|3);//11 console.log(5.3|4.1);//5 console.log(9|3455);//3455
La barre horizontale et verticale "|" est mentionnée ici mais il n'y a pas javascript.
D'accord, laissez-moi annoncer la réponse ici. En fait, l'unique barre verticale "|" est le résultat de l'ajout après conversion en binaire. Par exemple, prenons un exemple simple :
3|4
Après la conversion en binaire, 011|100 est ajouté pour obtenir 111=7
4| 4
Après la conversion en binaire, 100|100 est ajouté pour obtenir 100=4
8|3
Après avoir été converti en binaire, 1000 |011 est ajouté pour obtenir 1011=11
Par analogie, je ne les listerai pas un par un ici. L'opération unique barre verticale "|" est le résultat de l'ajout après conversion en binaire !
Opérateur à double barre verticale JS
1. Opérateur à double barre verticale JS : oui ou comparaison Tel que null||'1', renvoie '1' ; 2'||'1', renvoie '2'. Autrement dit, dans l'opérateur OR, le premier est vrai et les suivants n'ont pas besoin d'être calculés. Nous obtenons donc '2'.
2. Utilisez l'opérateur double barre verticale "||" en js pour renvoyer la première valeur valide
var objOne = undefined || 1 || null || new Date(); var objTwo = new Date(); var objThree = objOne || objTwo; alert(objThree.toString()); //out put "1"
Résumé
Comparaison des performances
Dans l'opérateur logique && ||, si le premier opérande de && est faux, il ne sera plus pris en compte Pour le second opérande, false est renvoyé directement ; si le premier opérande de || est vrai, le deuxième opérande n'est pas pris en compte et true est renvoyé directement. Ce n'est pas le cas des opérateurs & et | Ils doivent toujours comparer deux opérandes pour obtenir le résultat, donc les performances de && et ||
Utilisation des fonctions
&& et || ne peuvent effectuer que des opérations logiques, tandis que & et | peuvent non seulement effectuer des "opérations logiques", mais également effectuer des opérations sur les bits
Opérations au niveau du bit
& et | sont des opérateurs au niveau du bit. La raison pour laquelle des « opérations logiques » peuvent être effectuées est que JS est un langage sans type et que chaque type de données peut être utilisé librement. . Déterminé par cette fonctionnalité de conversion, lors de l'utilisation de & et | pour effectuer des "opérations logiques", true est en fait converti en 1, false est converti en 0, puis des opérations bit par bit sont effectuées :
.
document.write(true & false); //JS,结果为0
Dans la phrase ci-dessus, l'exemple équivaut à l'opération logique convertie en l'opération binaire suivante et exécutée :
document.write(1 & 0); //JS,结果为0
C'est précisément parce que & et | sont des opérateurs au niveau du bit, ce qui est mentionné dans le premier point. Ils doivent toujours comparer deux opérandes pour obtenir le résultat, ce qui conduit à des performances inférieures à celles de && et ||.
J'ai compilé ce qui précède pour vous, j'espère que cela vous sera utile à l'avenir.
Articles associés :
Quels sont les moyens de chiffrer les mots de passe dans nodejs
vue traite les données obtenues par storejs
nodejsExplication détaillée des étapes pour se connecter à la base de données mysql
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!