Maison >interface Web >js tutoriel >Nier et nier encore en javascript n'a aucun sens_compétences javascript

Nier et nier encore en javascript n'a aucun sens_compétences javascript

WBOY
WBOYoriginal
2016-05-16 16:53:151305parcourir

Opérateur~ signifie négation au niveau du bit. En apparence, ~~ (inverser puis nier) n'a aucun sens. En fait, les nombres à virgule flottante peuvent être transformés en entiers dans JS.

Copier le code Le code est le suivant :

script>
var monArray = new Array();
monArray.push("a");
monArray.push("b"); 🎜>myArray .push("d");

//Maintenant, nous devons retirer au hasard un élément du tableau
var random = myArray[~~(Math.random()*myArray. length)]; // Math.random() renvoie un nombre pseudo-aléatoire compris entre 0 et 1, qui peut être 0 mais est toujours inférieur à 1, [0,1)

var i = 7.94; 🎜>i = ~~i ;
alerte(i);

var j = 7.34;
j =
alerte(j);




Comme ci-dessus, s'il n'y a pas de ~~, alors la décimale est obtenue au hasard et la partie décimale de la décimale est supprimé, laissant l’entier. Comme ci-dessus, i=7, j=7. Cependant, ce mécanisme n'existe pas en C. Un nombre à virgule flottante (float) ne peut pas être inversé au niveau du bit en C, et la conversion de type forcée peut être utilisée en C (mais il n'existe pas de mécanisme de ce type dans JS. Les nombres à virgule flottante sont convertis en nombres entiers. . ) atteint le même objectif (en supprimant la partie décimale et en conservant la partie entière).


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn