kostenloser Webspace werbefrei: lima-city


JS 'Funktions-Verkettung'

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    Hi,
    ich möchte gerne eine 'Funktionsverkettung' (oder wie man das auch nennen mag) realisieren.
    Das ganze soll so wie in beispielsweise JQuery aussehen, also

    Element.Function(Parameter).Function(Parameter).Function(Para....

    Wie kann ich soetwas realisieren? Also einem objekt beliebig viele Funktionen anzuhängen die sih dann gegenseitig aufrufen?

    ich hoffe mein Problem ist verständlich und Ihr kennt euch da aus :)
    MFG
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Normalerweise müssen dazu die Funktionen Objekte zurückgeben, die wieder Funktionen enthalten...
  4. g****e

    Um das von Hackyourlife in Code zu fassen:
    function myObject() {
        this.method1 = function() {
            //machwas
            return this;
        }
        this.method2 = function() {
            //machwas
            return this;
        }
        this.method3 = function() {
            //machwas
            return this;
        }
    }
    
    myInstance = new myObject();
    myInstance.method1().method2().method3();


    Ich denke mal das wolltest du :)

    Liebe Grüße

    Beitrag zuletzt geändert: 9.8.2012 15:47:07 von ggamee
  5. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    Vielen Dank, das war genau das, was ich gesucht habe!

    Gibt es allerdings eine Möglichkeit, das ganze ohne eine Deklaration mit 'new' zu machen?
    Also dass das Objekt garnicht oder beim ersten Aufruf oder so erst erstellt wird?

    (Beispiel: Bei JQuery habe ich ja auh $('#elem_id').method1().method2()... ohne 'new')

    LG und vielen Dank!
  6. g****e

    Die Methoden müssen halt immer das eigene Objekt wieder zurück geben. Du kannst dies auf jedes Element anwenden. Da du jetzt speziell auf jQuery so rumreitest, würd ich dir einfach mal dashier ans Herz legen: http://docs.jquery.com/Plugins/Authoring#Maintaining_Chainability
    Hier wird erklärt, wie du ein jQuery Plugin schreibst, und wie es die "chainability" behält, also die Verkettung, welche du möchtest :)

    Liebe Grüße
  7. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    programtools schrieb:
    (Beispiel: Bei JQuery habe ich ja auh $('#elem_id').method1().method2()... ohne 'new')
    Dabei gibt dir die Funktion
    $()
    ein Objekt zurück, ruft also intern irgendwann mal
    new
    auf ohne, dass du das merkst.
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!