その場で変更を行うフォームに取り組んでおり、それをよりよく理解しようとしています。
それにもかかわらず、私はこれを含む入力に出くわし、このステートメントが何を意味するのか疑問に思っていました。ありがとうございました
onclick="if(this.onchange){this.onchange();}"
その場で変更を行うフォームに取り組んでおり、それをよりよく理解しようとしています。
それにもかかわらず、私はこれを含む入力に出くわし、このステートメントが何を意味するのか疑問に思っていました。ありがとうございました
onclick="if(this.onchange){this.onchange();}"
this
これは、関数が として定義されている かどうかを確認していonchange
ます。JavaScript では、必要ありませんif (this.onchange != null)
。値が null、未定義、または空の文字列の場合、返される if ステートメントの値は false です。これは通常、使用しようとしているものをすべてのブラウザーがサポートするかどうか確信が持てない場合に、JavaScript での null 参照エラーを回避するための良い方法です。(または私が今行方不明になっている他の理由)
たとえば、Google Chrome でコンソールに出力する行を追加すると...
console.log("output here");
私の記憶が正しければ、これにより他のブラウザでエラーが発生する可能性があります。これを処理する良い方法は、次を使用することです。
if (console) { console.log("output here"); }
宣言されているかどうかを確認する方法です
if (typeof this.onchange != "undefined"){
this.onchange();
}