Kann jemand diese JavaScript-Eigenart erklären?Warum If-Anweisung undefiniert für HashTable?
Ein Beispiel:
function func(hashTable) {
if (hashTable['foo'])
return true;
}
var hash = {};
hash['foo'] = 0;
func(hash);
ich undefined
statt true
.
'(Hashtable [ 'foo'])' das Ergebnis falsch, wenn sein Wert 0 so 'return true' übersprungen. Dann wird undefined zurückgegeben. – marekful
@KaisinLi, für welche Bedingung soll der if-Block ausgeführt werden? –
@RohitAgrawal ursprünglich versuchte ich zu überprüfen, ob hashTable den Schlüssel 'foo' hat. Aber wie Sie vorgeschlagen haben, ist hasOwnProperty ein besserer Weg zu gehen. –