Loading:


    JavaScript Funkcja apply (Metoda obiektu Function)

    Pozwala zastosować metodę innego obiektu w kontekście innego obiektu


    Metoda obiektu: Function

     

    Składnia



    apply(thisArg[, argArray])


    Parametry



    thisArg  - Parametr do wywołania obiektu.



    argArray - Argument tablicy dla obiektu.



    Opis



    Możesz przypisać różnice tego obiektu kiedy wywołujesz istniejącą funkcję.
    Odnosi sięto do bieżącego objektu.
    Z zastosowaniem możesz zapisać metode raz i następnie dziedziczyć ją w innym objekcie bez konieczności nadpisywania metody dla nowego obiektu.


    Zastosowanie to jest bardzo podobne do funkcji call, zwyjątkiem dla danego typu argumentu.
    Możesz użyć tablicy argumentów zamiast ustawiać nazwy parametrów
    Z zastosowaniem, możesz użyć tablicy np. apply(this, [name, value]) lub tablicy bjektów apply(this, new Array(name, value))


    Możesz również użyć arguments dla parametru argArray.
    Arguments jest lokalną zmienną funkcji.
    Może być użyty dla wszystkich nieokreślonych argumentów wywołanego objektu.
    A zatem nie musisz znać argumentów wywołanego objektu kiedy używasz zastosowania metody. Możesz użyć argumentów aby przejść wszystkie argumenty wywołanego objektu. Wywołany objekt jest następnie odpowiedzialny za obsługę argumentów

    Przykłady


    Przykład: Zastosowanie apply to chain constructors


    Możesz użyć zastosowanie do łańcucha konstruktorów dla obiektu, podobnie jak w Java. W poniższym przykładzie konstruktor dla objektu produktu  składa sie z dwuch parametrów nazwa i wartość. kolejny objekt prod_dept inicjalizuje tą unikalną zmienną i wywołuje konstruktor dla produktu w tym konstruktorze inicjalizuje inne zmienne. W tym przykładzie parametr arguments jest użyty dla wszystkich argumentów konstruktora objektu produkt

     

    function product(name, value){

       this.name = name;

       if(value > 1000)

          this.value = 999;

       else

          this.value = value;

    }



    function prod_dept(name, value, dept){

       this.dept = dept;

       product.apply(this, arguments);

    }



    prod_dept.prototype = new product();



    // since 5 is less than 1000 value is set

    cheese = new prod_dept("feta", 5, "food");



    // since 5000 is above 1000, value will be 999

    car = new prod_dept("honda", 5000, "auto");





    Napisz Artyku³

    Listing

    niema




    Dodano przez: igor
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors