Ergebnis 1 bis 7 von 7

Thema: Vergleich auf undefined

  1. #1
    Kaiserliche Hoheit
    Registriert seit
    22.02.2005
    Beiträge
    1.558
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Vergleich auf undefined

    Ich möchte per JavaScript eine Variable bzw. ein Array-Element auf seine Existenz hin untersuchen. Mein Array wird dynamsich
    mit Werten gefüllt. Ich möchte nun bestimmte Elemente darauf prüfen, ob diese einen Wert besitzen oder ob sie undefined sind.

    Folgender Code funktioniert bereits im IE:
    Code:
    if (links[10] !== undefined) {
     ...
    }
    else {
      alert("Array-Element besitzt keinen Wert.");
    }
    Der Firefox stolpert hier irgendwie drüber, aber die Javaconsole gibt keine Fehler aus. Die Anweisungen im True-Block werden
    abgearbeitet. Wie muss also der Vergleich für den FF aussehen, damit er das richtige Ergebnis liefert?
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    "Carpe Diem" powered by positiv Feelings

  2. #2
    Kaiser(in)
    Registriert seit
    03.06.2004
    Beiträge
    2.557
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    dann ist dein "code" falsch... ...ich glaub nämlich nicht, dass es den "befehl" undefined gibt, und wenn doch, dass man ihn so anwendet

  3. #3
    Forum Guru
    Registriert seit
    14.06.2004
    Ort
    Schleswig-Holstein
    Beiträge
    5.439
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Moin!

    also " !== " gibt es nicht, wenn es ungleich sein soll, dann muß es " != " heißen, sonst " == ".

    Probieren mal dies:
    Code:
    var links = new Array;
    if (!window.links[10])
       {alert("Array-Element besitzt keinen Wert.")}
    
    else
       {document.write(window.links[10]);}
    Gegenprobe:
    Code:
    var links = new Array;
    links[10] = "Hallo";
    if (!window.links[10])
       {alert("Array-Element besitzt keinen Wert.")}
    
    else
       {document.write(window.links[10]);}
    G.a.d.M.

    Ronald
    ...sagte ich schon, daß ich Javascript hasse?

  4. #4
    Kaiserliche Hoheit
    Themenstarter

    Registriert seit
    22.02.2005
    Beiträge
    1.558
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Zitat Zitat von Rocco
    dann ist dein "code" falsch... ...ich glaub nämlich nicht, dass es den "befehl" undefined gibt, und wenn doch, dass man ihn so anwendet
    Code falsch - aha. Immer wieder eine gern gegebene Antwort ...
    undefined ist kein Befehl sondern ein Zustand der unter JS abgefragt werden kann. Das ist (fast) das Gleiche wie NULL.

    Zitat Zitat von Ronald
    also " !== " gibt es nicht, wenn es ungleich sein soll, dann muß es " != " heißen, sonst " == ".
    Bitte erst ein wenig recherchieren bevor du/ihr solche Aussagen trefft. Es stimmt zwar, dass dieser Operator selten angewandt wird
    und auch dass er in anderen Sprachen nicht existiert, aber in JS gibt es diesen auf jeden Fall.
    Die Operatoren === und !== werden Identitätsoperatoren genannt und prüfen nicht nur auf den gleichen Wert sondern auch auf
    den gleichen Typ. Folgendes Bsp. zeigt dies:
    Code:
      var a = "1";
      var b = 1;
      var c = 1;
      if (a === b) { ... }  // ergibt false, da Wert zwar gleich aber Typ nicht gleich
      if (b === c) { ... }  // ergibt true, da Wert und Typ gleich sind
    Interessant ist hier auch, dass NULL === undefined false ergibt, da beide Zustaände intern unterschiedlich sind.

    Ok, aber dein Einwurf hat trotzdem was Gutes, denn ich habe den Vergleich nun so umgestrickt.
    Code:
      if (!links[10] == "") { ... } else { alert("Link existiert nicht."); }
    Das funktioniert und somit THX 4 Help.
    "Carpe Diem" powered by positiv Feelings

  5. #5
    Kaiser(in)
    Registriert seit
    03.06.2004
    Beiträge
    2.557
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Zitat Zitat von Torty
    Code:
      if (!links[10] == "") { ... } else { alert("Link existiert nicht."); }
    Das funktioniert und somit THX 4 Help.
    um deinen quelltext etwas zu verschönern... schon mal die idee gehabt das so zu lösen?

    Code:
    if (links[10]) { ... } else { alert("Link existiert nicht."); }

  6. #6
    Kaiserliche Hoheit
    Themenstarter

    Registriert seit
    22.02.2005
    Beiträge
    1.558
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ja, seltsamerweise würde dies auch funktionieren, obwohl der direkte Identitätsvergleich auf undefined nicht klappt.

    Mein Problem ist gelöst, aber die Frage steht trotzdem im Raum: Was gefällt dem Firefox nicht am oben gezeigten Vergleich mit !== ?
    "Carpe Diem" powered by positiv Feelings

  7. #7
    Kaiser(in)
    Registriert seit
    03.06.2004
    Beiträge
    2.557
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    probiers mal mit

    Code:
    if (typeof links[10] == 'undefinded')

Ähnliche Themen

  1. GAME CAM vergleich !!!
    Von Fabi im Forum Computer - Internet Forum
    Antworten: 3
    Letzter Beitrag: 25.04.2008, 19:22
  2. Notice: Undefined index
    Von Shyne im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 07.03.2008, 23:23
  3. vergleich im javascript
    Von azrael im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 07.07.2006, 10:55
  4. Vergleich javascript fehler
    Von azrael im Forum HTML & CSS Forum
    Antworten: 0
    Letzter Beitrag: 05.07.2006, 17:48
  5. Vergleich von Zahlen
    Von FaFoo im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 6
    Letzter Beitrag: 10.04.2006, 20:32

Stichworte

Berechtigungen

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