Heim > Web-Frontend > js-Tutorial > Das Negieren und erneute Negieren in Javascript ist bedeutungslos. Javascript-Fähigkeiten

Das Negieren und erneute Negieren in Javascript ist bedeutungslos. Javascript-Fähigkeiten

WBOY
Freigeben: 2016-05-16 16:53:15
Original
1304 Leute haben es durchsucht

Operator~ bedeutet bitweise Negation. Oberflächlich betrachtet ist ~~ (umkehren und dann negieren) bedeutungslos. Tatsächlich können Gleitkommazahlen in JS umgewandelt werden.

Code kopieren Der Code lautet wie folgt:

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

//Jetzt müssen wir zufällig ein Element aus dem Array herausnehmen
var random = myArray[~~(Math.random()*myArray. length)]; // Math.random() gibt eine Pseudozufallszahl zwischen 0 und 1 zurück, die 0 sein kann, aber immer kleiner als 1 ist, [0,1)

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

var j = 7.34;
alert(j);




Wenn es kein ~~ gibt, wird die Dezimalzahl zufällig ermittelt und der Dezimalteil ist entfernt, wobei die Ganzzahl übrig bleibt. Wie oben i=7, j=7. Dieser Mechanismus existiert jedoch nicht in C. Eine Gleitkommazahl (Float) kann in C nicht bitweise invertiert werden, und in C kann eine erzwungene Typkonvertierung verwendet werden (in JS gibt es einen solchen Mechanismus jedoch nicht. Gleitkommazahlen werden in Ganzzahlen konvertiert . ) erreicht den gleichen Zweck (Verwerfen des Dezimalteils und Beibehalten des Ganzzahlteils).


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage