Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] gesucht: Javascript Editor Outline für Closures

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] gesucht: Javascript Editor Outline für Closures

    Hi,


    kennt jemand einen Editor, der genau das kann? Nervt ziemlich, Methoden selbst suchen zu müssen. Ideal wäre ein OpenKomodo / Eclipse Plugin.



    danke und grüße
    I like cooking my family and my pets.
    Use commas. Don't be a psycho.
    [URL="http://jscouch.de"]Blog[/URL] - [URL="http://coverflowjs.github.io/coverflow/"]CoverflowJS[/URL]

  • #2
    Ich präzisier das mal im Nachhinein:

    Wenn ich a la modul pattern ein singleton generier, seh ich in keinem von mir verwendeten Editor ein Outlining.

    Könnt ihr ja gerne mal mit folgendem Code testen:
    PHP-Code:
    var foo = (function () {
        return {
            
    bar : function () {
                
    alert(1)
            }
        };
    })();

    foo.bar();

    // auch ohne outline: 

    /**
     * @namespace name
     */

    if(typeof(name) == 'undefined') {
        var 
    name = {};
    }

    (function() {
        
    }).
    apply(name); 
    Mittlerweile umgeh ich das Problem mit den namespacing Funktionen des jeweiligen Frameworks.
    Für jquery hatte ich einen netten Artikel gefunden. Mit folgendem code namespacing einführen:

    PHP-Code:
    (function($) {
    // my library code...
    $.namespace = function() {
            var 
    a=argumentso=nullijd;
            for (
    i=0i<a.lengthi=i+1) {
                
    d=a[i].split(".");
                
    o=window;
                for (
    j=0j<d.lengthj=j+1) {
                    
    o[d[j]]=o[d[j]] || {};
                    
    o=o[d[j]];
                }
            }
            return 
    o;
        };
    })(
    jQuery); 
    Dann einfach $.namespace("myNamespace"). Um a la module pattern entwicklen zu können, an die abschließenden () denken Bsp:
    PHP-Code:
    /**
     * @namespace customer
     *      kundenobject
     */
    $.namespace("foo");
    $.
    foo = function () {
        var private = {
            
    _a : function {
            },
            
    _b : function {
            }        
        }
        return {
            
    bar : function () {
                
    // public
            
    }
        };
    }(); 
    All credits to this author. Vielleicht hilfts ja jemandem.


    grüße


    Basti
    I like cooking my family and my pets.
    Use commas. Don't be a psycho.
    [URL="http://jscouch.de"]Blog[/URL] - [URL="http://coverflowjs.github.io/coverflow/"]CoverflowJS[/URL]

    Kommentar


    • #3
      Bist du da nicht vielleicht inzwischen auf eine viel logischere Lösung gekommen, Basti?

      (scnr)

      Kommentar

      Lädt...
      X