mozilla
Wyniki wyszukiwania

    Określanie wzajemnych relacji obiektu

    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+.

    Określanie wzajemnych relacji obiektu

    You may want to know what objects are in the prototype chain for an object, so that you can tell from what objects this object inherits properties.

    Starting with JavaScript 1.4, JavaScript provides an instanceof operator to test the protoytpe chain. This operator works exactly like the instanceof function discussed below.

    As discussed in Inheriting Properties, when you use the new operator with a constructor function to create a new object, JavaScript sets the __proto__ property of the new object to the value of the prototype property of the constructor function. You can use this to test the prototype chain.

    For example, suppose you have the same set of definitions already shown, with the prototypes set appropriately. Create a __proto__ object as follows:

    chris = new Engineer("Pigman, Chris", ["jsd"], "fiji");
    

    With this object, the following statements are all true:

    chris.__proto__ == Engineer.prototype;
    chris.__proto__.__proto__ == WorkerBee.prototype;
    chris.__proto__.__proto__.__proto__ == Employee.prototype;
    chris.__proto__.__proto__.__proto__.__proto__ == Object.prototype;
    chris.__proto__.__proto__.__proto__.__proto__.__proto__ == null;
    

    Given this, you could write an instanceOf function as follows:

    function instanceOf(object, constructor) {
       while (object != null) {
          if (object == constructor.prototype)
             return true;
          object = object.__proto__;
       }
       return false;
    }
    

    Z tej definicji następujące wyrażenia są prawdziwe:

    instanceOf (chris, Engineer)
    instanceOf (chris, WorkerBee)
    instanceOf (chris, Employee)
    instanceOf (chris, Object)
    

    Ale następujące wyrażenie jest fałszywe:

    instanceOf (chris, SalesPerson)
    

    Autorzy i etykiety dokumentu

    Contributors to this page: Ptak82, teoli, Diablownik, Mgjbot
    Ostatnia aktualizacja: teoli,