Przewodnik po języku JavaScript 1.5:Podgląd klas LiveConnect:Konwersja typu danych:Konwersja Java do JavaScript
z Mozilla Developer Center, polskiego centrum programistów Mozilli.
UWAGA: Tłumaczenie tej strony nie zostało zakończone.
Może być ona niekompletna lub wymagać korekty.
Chcesz pomóc? | Dokończ tłumaczenie | Sprawdź ortografię | Więcej takich stron...
[edytuj] Konwersja Java do JavaScript
Wartości przekazywane z Javy do JavaScript są konwertowane następująco:
- Typy Javy; byte, char, short, int, long, float i double są konwertowane do liczb JavaScript.
- Typ boolean w Javie jest konwertowany do typu boolean JavaScript.
- Klasa obiektu netscape.javascript.JSObject jest konwertowana do obiektu the original JavaScript.
- Tablice Java są konwertowane do obiektu pseudo-tablicy; ten obiekt zachowuje się podobnie jak obiekt tablicy: you can access it with the syntax arrayName[index] (gdzie index jest typu integer) i określić jego długość za pomocą arrayName.length.
- A Java object of any other class is converted to a JavaScript wrapper, which can be used to access methods and fields of the Java object:
- Converting this wrapper to a string calls the toString method on the original object.
- Converting to a number calls the doubleValue method, if possible, and fails otherwise.
- Converting to a boolean in JavaScript 1.3 and later versions returns false if the object is null, and true otherwise.
- Converting to a boolean in JavaScript 1.2 and earlier versions calls the booleanValue method, if possible, and fails otherwise.
Note that instances of java.lang.Double and java.lang.Integer are converted to JavaScript objects, not to JavaScript numbers. Similarly, instances of java.lang.String are also converted to JavaScript objects, not to JavaScript strings.
Java String objects also correspond to JavaScript wrappers. If you call a JavaScript method that requires a JavaScript string and pass it this wrapper, you'll get an error. Instead, convert the wrapper to a JavaScript string by appending the empty string to it, as shown here:
var JavaString = JavaObj.methodThatReturnsAString(); var JavaScriptString = JavaString + "";