Math.random

Maddimini

Mitglied
Hallo :),

ich habe auf einer Webseite im JavaScript Quellcodebereich die Methode:
Code:
Math.random()
gefunden.

Wo finde ich den Quellcode dieser Methode, also wie dieser Algorithmus arbeitet?

Hängen Java Klassen und JavaScript dabei irgendwie zusammen?

MfG
Maddimini
 
Wo finde ich den Quellcode dieser Methode, also wie dieser Algorithmus arbeitet?

Also
Javascript:
alert(Math.random.toString());
liefert
function random() {
[native code]
}

Jeder Browser implementiert das auf seine Art (in C oder C++, nicht in JavaScript). Lad dir z.B. den Chromium oder Firefox Quelltext runter und guck nach.

Hängen Java Klassen und JavaScript dabei irgendwie zusammen?
Zu 100% NEIN.

Edit: Um es genauer zu machen. Nicht den Quelltext von Chromium sondern der des JavaScript interpreters V8 http://code.google.com/p/v8/
 
Zuletzt bearbeitet:
Vielen Dank :)
zwei Fragen noch?

Wofür genau steht denn dieses Native Code? Wenn ich das google, finde ich keine guten Erklärungen :/

Also führt der Browser, sofern er die Funktion random(); erkennt, einen Algorithmus auf dem lokalen Bereich via Programmiersprache wie C++ oder Java aus, und benutzt diesen Wert?
 
Also führt der Browser, sofern er die Funktion random(); erkennt, einen Algorithmus auf dem lokalen Bereich via Programmiersprache wie C++ oder Java aus, und benutzt diesen Wert?

Ja. Und Math.random sollte er kennen, weil es Teil der ECMA Spezifikation ist. Siehe http://www.ecma-international.org/publications/standards/Ecma-262.htm Abschnitt 15.8.2.14


Wofür genau steht denn dieses Native Code? Wenn ich das google, finde ich keine guten Erklärungen :/

http://de.wikipedia.org/wiki/Maschinensprache

Die Maschinensprache (auch Maschinencode oder Nativer Code genannt) bezeichnet ein System von Instruktionen, die der jeweilige Prozessor eines datenverarbeitenden Systems direkt und ohne Kompilierung ausführen kann.

Eben das Gegenteil zu einer Skriptsprache, die während der Ausführung erst interpretiert werden muss. Aus Performance-Gründen wird so viel wie möglich mit nativem Code gemacht. Das dürfte in PHP ganz ähnlich sein. Da haben viele Funktionen sogar die gleichen Namen wie ihre C-Pendants.

Hier steht "[native code]" einfach als Platzhalter damit man sieht, dass dort nicht mit JavaScript gearbeitet wurde.
 
Zuletzt bearbeitet:
Zurück