mozilla
Wyniki wyszukiwania

    Konwersja JavaScript do Java

    Konwersja JavaScript do Java

    Kiedy wywołujesz metody Java i zmieniasz parametry z JavaScript, typ danych tych parametrów zmienione zostaną konwertowane stosownie do opisanych reguł w następujących tematach:

    Zwraca wartości metod netscape.javascript.JSObject, które są zawsze konwertowane do przykładu java.lang.Object. Reguły konwersji, które zwracają wartość są także opisane w tym temacie.

    Na przykład, jeśli zwraca numer JavaScript JSObject.eval, możesz znaleźć reguły konwersji tegoż numeru do numeru java.lang.Object w wartości liczbowe.

    Wartości liczbowe

    Kiedy w JavaScript typ Number zmienisz na jako parametry metod Java, Java konwertuje wartości stosownie do zasad opisanych w następującej tabeli:


    Java typ parametru Zasady konwersji
    double * Dokładne wartości są transferowane do Javy bez zaokrąglonych i bez straconych wielkości lub znaku .
    • NaN jest konwertowane do NaN.
    java.lang.Double
    java.lang.Object
    Nowy przykład java.lang.Double jest tworzony i dokładna wartość jest transferowana do Java bez zaokrągleń i bez straconej wielkości lub znaku.
    float * Wartości float są dokładnie zaokrąglane.
    • Wartości, które są zbyt za duże lub za małe, aby być prezentowanym są zaokrąglane do +nieskończoności lub -nieskończoności.
    • NaN jest konwertowany do NaN.
    byte

    char
    int
    long

    short
    * Wartości są okrążane przy użyciu trybu round-to-negative-infinity.
    • Wartości które są też duże lub małe reprezentuje rezultat w błędzie run-time.
    • NaN nie może być konwertowany, czego rezultatem jest błąd run-time.
    java.lang.String Wartości są konwertowane do łańcucha znaków. Na przykład:
    • 237 staje się "237"
    boolean * Wartości 0 i NaN są konwertowanie do false.
    • Inne wartości są konwertowane do true.

    Kiedy liczba JavaScript przechodzi jako parametr metody Java, która oczekuje przykładu z java.lang.String, numer jest konwertowany do łańcucha znaków. Użyj metody equals() do porównania rezultatów tej konwersji z innymi wartościami łańcuchów znaków.

    Wartości logiczne

    Kiedy w JavaScript typ Boolean zmienisz na parametry metod Javy, Java konwertuje wartości stosownie do zasad opisanych w następującej tabeli:

    Java typ parametru Zasady konwersji
    boolean Wszystkie wartości są konwertowane w kierunku wyposażenia Javy.
    lava.lang.Boolean
    java.lang.Object
    Nowy przykład java.lang.Boolean jest utworzony. Każdy parametr tworzy nowy przykład, nie jeden przykład z tymi samymi prymitywnymi wartościami.
    java.lang.String Wartości są konwertowane do łańcuchów znaków. Na przykład:
    • true staje się "true"
    • false staje się "false"
    byte

    char
    double
    float
    int
    long

    short
    * true staje się 1
    • false staje się 0

    Kiedy zmienimy JavaScript wartość boolean, który jest jako parametr do metod Javy, oczekuje przykładu java.lang.String, wartość boolean jest konwertowana do wartości string. Użyj operatora == do porównania rezultatów tej konwersji z innymi wartościami string.

    Wartość String

    Kiedy w JavaScript typ string zmienisz na parametry metod Javy, Java konwertuje wartości stosownie do zasad opisanych w następującej tabeli:

    Java typ parametru Zasady konwersji
    java.lang.String
    java.lang.Object
    JavaScript 1.4:
    • Łańcuch JavaScript jest konwertowany przykładem java.lang.String z wartościami Unicode.

    JavaScript 1.3 i wcześniejsze:

    • Łańcuch JavaScript jest konwertowany przykładem java.lang.String z wartościami ASCII.
    byte

    double
    float
    int
    long

    short
    Wszystkie wartości są konwertowane do liczb opisanych w ECMA-262. Wartości string JavaScript jest konwertowana do liczby stosownie do opisu ECMA-262.
    char JavaScript 1.4:
    • jeden znak łańcucha jest konwertowany do znaków Unicode.
    • wszystkie inne wartości są konwertowane na liczby.

    JavaScript 1.3 i wcześniejsze:

    • Wszystkie wartości są konwertowane na liczby.
    boolean * Pusty łańcuch staje się false.
    • Wszystkie inne klucze staną się true.

    Wartości niezidentyfikowane

    Kiedy w JavaScript wartości niezidentyfikowane zmienisz na parametry metod Javy, Java konwertuje wartości stosownie do zasad opisanych w następującej tabeli:

    Java typ parametru Zasady konwersji
    lava.lang.String
    java.lang.Object
    Wartość jest konwertowana do przykładu java.lang.String, którego wartość jest łańcuch "niezdefiniowany".
    boolean Wartość staje się false.
    double
    float
    Wartość staje się NaN.
    byte

    char
    int
    long

    short
    Wartość staje się 0.

    Konwersja niezdefiniowanej wartości wartość prawdopodobnie w JavaScript 1.3 i późniejszych wersjach. wcześniejsze wersje JavaScript nie dostarczają wartości niezdefiniowanych.

    Kiedy wartość niezdefiniowana JavaScript jest zmieniona na parametr metody Java, która oczekuje na przykład java.lang.String, wartość niezdefiniowana jest konwertowana do wartości string. Użyj operator == do porównania tych konwersji z inną wartością string.

    Wartość Null

    Kiedy w JavaScript wartości null zmienisz na parametry metod Javy, Java konwertuje wartości stosownie do zasad opisanych w następującej tabeli:

    Java typ parametru Zasady konwersji
    Jakaś class
    Jakiś typ interfejsu
    Wartość stanie się null.
    byte

    char
    double
    float
    int
    long

    short
    Wartość stanie się 0.
    boolean Wartość stanie się false.

    Obiekty JavaArray i JavaObject

    W wielu sytuacjach, kiedy zmieniałeś JavaScript JavaArray lub JavaObject jako parametry metod w Javie, Java prosto rozpakowuje obiekt; w kilku sytuacjach, obiekt jest poprawiany do innego typu danych stosowanych do opisu zasad w następującej tabeli:

    Java typ parametru Zasady konwersji
    Jakiś interfejs lub klasa, która przypisuje kompatybilność z rozpakowanym obiekt. Obiekt jest rozpakowany.
    java.lang.String Obiekt jest rozpakowywany, metoda toString rozpakowanego obiektu Java jest nazywana, i w rezultacie zwrócona jako nowy przykład java.lang.String.
    byte

    char
    double
    float
    int
    long

    short
    Obiekt jest rozpakowany, i w następujących dwóch sytuacjach się może to zdarzyć:
    • Jeśli rozpakowany obiekt Java posiada metodę doubleValue, to JavaArray lub JavaObject jest konwertowany do wartości powrotu tej metody.
    • Jeśli rozpakowany obiekt Java nie posiada metody doubleValue, błąd zdarzenia.
    boolean W JavaScript 1.3 i późniejszych wersjach, obiekt jest rozpakowywany i przytrafia się w obu następujących sytuacjach:
    • Jeśli obiekt jest null, to jest konwertowany jako false.
    • Jeśli obiekt ma jakąkolwiek wartość, to jest konwertowany do true.

    W JavaScript 1.2 i wcześniejszych wersjach, obiekt jest rozpakowany i zdarza się w obu następujących sytuacjach:

    • Jeśli rozpakowany obiekt posiada metodę booleanValue, źródło obiektu jest konwertowane do zwracanej wartości.
    • Jeśli obiekt nie posiada metody booleanValue, konwersja zostanie nie wykonana.

    interfejs lub klasa jest kompatybilnym przypisaniem z rozpakowanego obiektu jeśli obiekt ten jest przykładem typu parametru Javy. To jest, że następująca instrukcja musi zwrócić true:

    unwrappedObject instanceof parameterType
    

    Obiekty JavaClass

    Kiedy w JavaScript obiekt JavaClass zmienisz na parametry metod Javy, Java konwertuje wartości stosownie do zasad opisanych w następującej tabeli:

    Java typ parametru Zasady konwersji
    java.lang.Class Obiekt jest rozpakowany.
    java.lang.JSObject
    java.lang.Object
    Obiekt JavaClass jest pakowany w nowym przykładzie java.lang.JSObject.
    java.lang.String Obiekt jest rozpakowywany, metoda toString rozpakowanego obiektu Java jest nazywana, i w rezultacie zwrócona jako nowy przykład java.lang.String.
    boolean W JavaScript 1.3 i późniejszych wersjach, obiekt jest rozpakowywany i przytrafia się w obu następujących sytuacjach:
    • Jeśli obiekt jest null, to jest konwertowany jako false.
    • Jeśli obiekt ma jakąkolwiek wartość, to jest konwertowany do true.

    W JavaScript 1.2 i wcześniejszych wersjach, obiekt jest rozpakowany i zdarza się w obu następujących sytuacjach:

    • Jeśli rozpakowany obiekt posiada metodę booleanValue, źródło obiektu jest konwertowane do zwracanej wartości.
    • Jeśli obiekt nie posiada metody booleanValue, konwersja zostanie nie wykonana.

    Inne obiekty JavaScript

    Kiedy w JavaScript jakikolwiek obiekt zmienisz na parametry metod Javy, Java konwertuje wartości stosownie do zasad opisanych w następującej tabeli:

    Java typ parametru Zasady konwersji
    java.lang.JSObject
    java.lang.Object
    Obiekt JavaClass jest pakowany w nowym przykładzie java.lang.JSObject.
    java.lang.String Obiekt jest rozpakowywany, metoda toString rozpakowanego obiektu Java jest nazywana, i w rezultacie zwrócona jako nowy przykład java.lang.String.
    byte

    char
    double
    float
    int
    long

    short
    Obiekty są generowane używając wartości logicznej operatora ToPrimitive opisanego w ECMA-262. Użyj ukryty PreferredType z operatorem Number.
    boolean W JavaScript 1.3 i późniejszych wersjach, obiekt jest rozpakowywany i przytrafia się w obu następujących sytuacjach:
    • Jeśli obiekt jest null, to jest konwertowany jako false.
    • Jeśli obiekt ma jakąkolwiek wartość, to jest konwertowany do true.

    W JavaScript 1.2 i wcześniejszych wersjach, obiekt jest rozpakowany i zdarza się w obu następujących sytuacjach:

    • Jeśli rozpakowany obiekt posiada metodę booleanValue, źródło obiektu jest konwertowane do zwracanej wartości.
    • Jeśli obiekt nie posiada metody booleanValue, konwersja zostanie nie wykonana.




    Autorzy i etykiety dokumentu

    Contributors to this page: Ptak82, Anonymous, teoli, Taken, Mgjbot
    Ostatnia aktualizacja: teoli,