-3

その場で変更を行うフォームに取り組んでおり、それをよりよく理解しようとしています。

それにもかかわらず、私はこれを含む入力に出くわし、このステートメントが何を意味するのか疑問に思っていました。ありがとうございました

onclick="if(this.onchange){this.onchange();}"
4

3 に答える 3

2

thisこれは、関数が として定義されている かどうかを確認していonchangeます。JavaScript では、必要ありませんif (this.onchange != null)。値が null、未定義、または空の文字列の場合、返される if ステートメントの値は false です。これは通常、使用しようとしているものをすべてのブラウザーがサポートするかどうか確信が持てない場合に、JavaScript での null 参照エラーを回避するための良い方法です。(または私が今行方不明になっている他の理由)

たとえば、Google Chrome でコンソールに出力する行を追加すると...

console.log("output here");

私の記憶が正しければ、これにより他のブラウザでエラーが発生する可能性があります。これを処理する良い方法は、次を使用することです。

if (console) { console.log("output here"); }

于 2013-10-02T14:58:12.497 に答える
-1

宣言されているかどうかを確認する方法です

if (typeof this.onchange != "undefined"){
    this.onchange();
}
于 2013-10-02T14:51:11.303 に答える