誰でもjavascriptがこれを行う方法の説明を持っていますか?どういうわけか、この関数はまったく同じ時刻に真と偽の両方です。これは単なるパスであり、ループも何もありません。Javascript:これは同時に真と偽に評価されます!何が起こっている?
console.log(key);
if (this.watches.get(key)) {
console.log("found it");
} else {
console.log("whhhat?");
}
console.log(this.watches);
Firebug Consoleログはそのままです。
search-key
found it
Object search-key=Object $family=Object
whhhat?
Object search-key=Object $family=Object
[EDIT] はここにあります。上の出力の完全なスクリプトとブロックは、ファイヤーバグからのコピー&ペーストです。これは私が今まで見た中でもっとも不思議なものです。 http://snipt.org/Hkl
私はmootoolsフレームワークを使用していますのでthis.watches = $ H({});を使用します。ハッシュテーブルです。私は配列を使用していて、まったく同じ問題を経験していて、何か間違っていると思って$ H({})に切り替えました。
本当ですか? /もう一度チェックできますか? ...それは正確なコードですか? – eglasius
あなたが本当に1回のパスを行っているのであれば、出力は意味をなさない。 1回のパスでしか通過しない場合は、 "Object search-key = [...]"出力を2回記録するコンソールで終わるべきではありません。 –
ダニエル、私が知っているのは、このコードがここにある理由です。 –