マウスを移動すると長方形のブロックの長さが長くなり、高さが高くなるという機能のデモを書いたのですが、次のような問題が発生しました。ネスティング
リーリー
パラメータを渡すには that=this を使用する必要があります。そうでない場合、ブラウザは次のエラーを報告します
最後にコード全體を投稿しました。パラメータを渡すために that=this を使用すると問題が解決する理由を知りたいです。パラメーターが渡されない場合、これは誰を 2 回指すことになりますか?この値のすべての変更を監(jiān)視して表示できる、Chrome と Firefox の優(yōu)れたデバッグ方法はありますか?
htmlコード:
リーリーCSSコード:
リーリーjsコード:
リーリーイベントを通じて呼び出される関數(shù)の this はイベントをトリガーした要素を指すため、op[0].onmouseover イベントによって呼び出される関數(shù)の this は op[0]; を指します
if (fn) { fn();} は関數(shù)を呼び出すウィンドウと同等であるため、changeStyle 関數(shù)によって渡されるコールバック関數(shù)の this はウィンドウを指します
コードの実行を追跡したい場合は、ブレークポイントのデバッグを使用して、操作中に各変數(shù)の割り當てを確認できます
これは、関數(shù)の実行時に自動的に生成される內(nèi)部オブジェクトを表し、関數(shù)內(nèi)でのみ使用できます。
この関數(shù)はさまざまな狀況で使用されるため、この値は変化します。ただし、これは関數(shù)を呼び出すオブジェクトを參照するという一般原則があります。
Ruan Yifeng によるこの記事を読むことができると思います: http://www.ruanyifeng.com/blo...
それに合格しない場合、変更関數(shù)が誰のスタイルを変更するか知っていますか?これを直接使用する場合、これはウィンドウを指します。1 階で説明したように、ブレイクするとすぐにブレークポイントがわかります。
that=this を使用して this を現(xiàn)在の字句スコープにバインドしない場合、this はグローバル オブジェクト ウィンドウを指します。これが this のデフォルトのバインディングです。