tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von wollmaus
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
251
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Zack
    Zack Zack ist offline cookies vader
    Registriert seit
    Oct 2007
    Ort
    hier und dort
    Beiträge
    258
    Hallo,

    ich bin gerade bei dem Versuch das jQuery.address Plugin(http://www.asual.com/jquery/address/) für meine Zwecke ein wenig zu erweitern. Dabei kommt man ja nicht darum den Code zu analysieren.
    Dabei bin ich auf folgendes Konstrukt gestoßen:
    Code javascript:
    1
    2
    3
    4
    5
    
     var value = fn ? fn.call(this) : 
        /address:/.test($(this).attr('rel')) ? $(this).attr('rel').split('address:')[1].split(' ')[0] : 
        $.address.state() !== undefined && $.address.state() != '/' ? 
                $(this).attr('href').replace(new RegExp('^(.*' + $.address.state() + '|\\.)'), '') : 
                $(this).attr('href').replace(/^(#\!?|\.)/, '');
    Das ist leider nicht wirklich lesbar, deswegen hab ich das ganze mal ein auseinander gefummelt:
    Code javascript:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    var value = null;
    if(fn)
        value = fn.call(this);
    else{
        if(/address:/.test($(this).attr('rel'))){
            value = $(this).attr('rel').split('address:')[1].split(' ')[0];
        }else{ 
            if( $.address.state() !== undefined && $.address.state() != '/'){
                value = $(this).attr('href').replace(new RegExp('^(.*' + $.address.state() + '|\\.)'), '');
            }else{
                value = $(this).attr('href').replace(/^(#\!?|\.)/, '');
            }
        }
    }
    Ok soweit schon besser verständlich, das einzige was mich verwirrt ist dieses Konstrukt:
    Code javascript:
    1
    
    if(/address:/.test($(this).attr('rel')))
    Was genau macht das?

    Zack
    Geändert von Zack (09.01.12 um 23:57 Uhr)
     
    Und was lernen wir darauf? Es niemals versuchen! (Homer Jay Simpson)
    127.0.0.1 Home! Sweet Home!

    Ich würde mich über eine Bewertung meiner Beiträge freuen!

  2. #2
    wollmaus wollmaus ist offline Mitglied Gold
    Registriert seit
    Sep 2010
    Beiträge
    115
    Code :
    1
    
    /address:/
    Das ist ein regulärer Ausdruck, der per test() auf das rel-Attribut des betreffenden Elementes angewendet wird.

    die ominöse Zeile testet also, ob im rel-Attribut der String address: vorkommt.

    Falls ja, gibt test() true zurück, andernfalls false
    Zack bedankt sich. 

  3. #3
    Avatar von Zack
    Zack Zack ist offline cookies vader
    Registriert seit
    Oct 2007
    Ort
    hier und dort
    Beiträge
    258
    Grml, klar doch! Hab die .test Funktion voll vergessen. Danke.
     
    Und was lernen wir darauf? Es niemals versuchen! (Homer Jay Simpson)
    127.0.0.1 Home! Sweet Home!

    Ich würde mich über eine Bewertung meiner Beiträge freuen!

Ähnliche Themen

  1. set of Konstrukt in C#
    Von xbu58 im Forum C/C++
    Antworten: 0
    Letzter Beitrag: 10.10.07, 20:07
  2. switch-case konstrukt
    Von bastionmancher im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 22.04.07, 20:18
  3. Template mit if Konstrukt
    Von notebook20000 im Forum PHP
    Antworten: 2
    Letzter Beitrag: 06.06.06, 19:53
  4. C# - if-Konstrukt
    Von Alexander12 im Forum .NET Windows Forms
    Antworten: 2
    Letzter Beitrag: 14.10.05, 16:56
  5. If Konstrukt vereinfachen
    Von Steffen Giers im Forum PHP
    Antworten: 2
    Letzter Beitrag: 22.08.05, 23:47