nam: Vorhandensein von Funktion überprüfen

Beitrag lesen

Hi

Vielen Dank für eure Antworten, Tim und Struppi.

Habe auf eure Antworten hin noch tiefer geforscht und meine Verwirrung hat sich damit vergrössert. Ich weiss, das Folgende ist schon ein Grenzfall, aber ich hatte in meinem Script genau dieses Problem und brauchte lange (sehr lange), bis ich den Bug gefunden hatte. Vereinfacht sieht es so aus:

  
function Foo () {  
    var n;  
    this.noini;  
    this.ini=n;  
}  
var foo = new Foo();  

Beide Properties foo.noini und foo.ini sind mit undefined initialisiert, wobei letzteres seinen Wert von der Variable n bezieht.

Gemäss molily (siehe Link von Struppi) ergeben (typeof foo.ini != 'undefined') und (typeof foo.noini != 'undefined') beide false; soweit kann ich das nachvollziehen.

Aber:
('ini' in foo) ergibt true und ('noini' in foo) ergibt false.(!)

Testscript liegt hier:http://mnn.ch/diversa/inTest.html

Was jetzt?
Oder steh ich auf dem Schlauch?