Ergebnis 1 bis 11 von 11
  1. #1
    shapeshifta ist offline Eroberer
    registriert
    13-06-2011
    Beiträge
    53

    Javascript Quicktipps

    Hi,

    wie wäre es mit einem Thread, in dem jeder immer mal einen kurzen Tipp oder Code-Schnippsel anhängt, was er kennt? So könnte man von einander lernen und hätte auch sowas wie ne kleine Referenz?

    Ich fange mal an, String hat eine oft vergessene link-Methode:

    PHP-Code:
    var url 'http://www.google.de',
        
    test1 '<a href="' url '">Test</a>',
        
    test2 'Test'.link(url); 
    Mit beiden Variablen erhält man das gleiche Ergebnis.

  2. #2
    ABNetworks.DE ist offline Routinier
    registriert
    13-01-2003
    Beiträge
    338

    AW: Javascript Quicktipps

    Da man häufig document.getElementById() verwendet, ist es hilfreich sich dafür eine kürzere Funktion zu schreiben:
    PHP-Code:
    var _id = function(id) {
         
            return 
    document.getElementById(id);
            
            } 

  3. #3
    shapeshifta ist offline Eroberer
    registriert
    13-06-2011
    Beiträge
    53

    AW: Javascript Quicktipps

    Funktionen als Objekte nutzen:

    PHP-Code:
    var printMe = function(stuff){
        
    document.body.innerHTML += stuff;
    };

    var 
    counter = function() {
        if (!
    arguments.callee.count) {
            
    arguments.callee.count 1;
        }
        return 
    arguments.callee.count++;
    };

    printMe(counter()); // Ausgabe: 1
    printMe(counter()); // Ausgabe: 2
    printMe(counter()); // Ausgabe: 3 

  4. #4
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.751

    AW: Javascript Quicktipps

    ECMA-262 Erweiterungen verwenden (und für Browser, die das noch nicht unterstützen einfahch ein entsprechendes Skript laden) - macht einige Dinge sehr viel einfacher:
    Code:
    Array.prototype.forEach.call(document.getElementsByTagName("div"), function(node, i){
    	node.onclick = function(){
    		alert(i);
    	};
    });

  5. #5
    shapeshifta ist offline Eroberer
    registriert
    13-06-2011
    Beiträge
    53

    AW: Javascript Quicktipps

    Spaß mit logischen Operatoren, nehme ich gerne für's debugging:

    PHP-Code:
    var 5;
    === && document.write'a is 5 \n' ); //a is 5
    === || document.write'a is not 7 \n' ); //a is not 7 

  6. #6
    Avatar von Arcsinh
    Arcsinh ist offline Kaiser
    registriert
    03-06-2010
    Beiträge
    1.392

    AW: Javascript Quicktipps

    Braucht man vllt. nicht jeden Tag, aber trotzdem: Zweierpotenzen als bitweise Linksverschiebung darstellen.

    Code:
    1 << n
    // statt;
    Math.pow(2, n);
    Aber um 2^n in einer bitweisen Linksverschiebung darzustellen gibt es nicht nur eine, sondern n + 1 Varianten:
    2^n = 2^k << n - k, für 0 <= k <= n
    Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Goethe)

  7. #7
    shapeshifta ist offline Eroberer
    registriert
    13-06-2011
    Beiträge
    53

    AW: Javascript Quicktipps

    JavaScript-Miniframework:

    PHP-Code:
    //implement missing function
    if(!document.getElementsByClassName){
        
    document.getElementsByClassName = function(cl) {
            var 
    retnode = [],
                
    myclass = new RegExp('\\b'+cl+'\\b'),
                
    elem this.getElementsByTagName('*');
            for (var 
    0max elem.lengthmaxi++) {
                var 
    classes elem[i].className;
                if (
    myclass.test(classes)){
                    
    retnode.push(elem[i]);
                }
            }
            return 
    retnode;
        };
    }

    //framework functions
    function $(id){ return document.getElementById(id); }
    function 
    html(idhtml){ $(id).innerHTML html; }
    function 
    css(idstyle){ $(id).style.cssText += ';'+style;}
    function $$(
    cl){ return document.getElementsByClassName(cl); }

    //testrun
    html('test','this is an awesome text');
    css('test','color:red;background-color:blue');

    var 
    groups = $$('group');
    for (var 
    0max groups.lengthmaxi++){
        
    groups[i].innerHTML 'element ' i;

    Live - Test

  8. #8
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.751

    AW: Javascript Quicktipps

    @shapeshifta: die html und css Funktion wären für mich zu unflexibel (in deiner Schleife brauchst du dann ja doch wieder .innerHTML = ...).
    Geändert von kkapsner (13-07-2011 um 18:15 Uhr)

  9. #9
    shapeshifta ist offline Eroberer
    registriert
    13-06-2011
    Beiträge
    53

    AW: Javascript Quicktipps

    Ja, mag sein, können wir gerne aufbohren
    Aber dann ist es wahrscheinlich nicht mehr Mini... querySelectorAll könnte man auch nutzen, wenn vorhanden.

    Hier als gist, wer forken mag https://gist.github.com/1080660
    Geändert von shapeshifta (13-07-2011 um 18:17 Uhr)

  10. #10
    shapeshifta ist offline Eroberer
    registriert
    13-06-2011
    Beiträge
    53

    AW: Javascript Quicktipps

    Zufallszahlen mit Math:
    PHP-Code:
    if(!Math.randomFromTo){
        
    Math.randomFromTo = function(fromto){
             return 
    Math.floorMath.random() * (to from )) + from;
            };


  11. #11
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.751

    AW: Javascript Quicktipps

    Da wir schon beim Zufall sind:
    Code:
    Array.prototype.shuffle = function(){
    	var rand, old;
    	for (var i = this.length - 1; i >= 0; i--){
    		rand = Math.floor(Math.random() * (i + 1));
    		old = this[i];
    		this[i] = this[rand];
    		this[rand] = old;
    	}
    }

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 11-09-2008, 12:05
  2. Antworten: 1
    Letzter Beitrag: 28-03-2008, 16:33
  3. javascript Datei in ein Tooltip Javascript einfügen
    Von Borsti26 im Forum JavaScript
    Antworten: 8
    Letzter Beitrag: 26-12-2006, 01:55
  4. Antworten: 3
    Letzter Beitrag: 27-07-2006, 15:59
  5. Kann man ein JavaScript in einem JavaScript öffnen?
    Von angelface im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 06-03-2002, 16:50

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •