ホームページ  >  記事  >  ウェブフロントエンド  >  JS でのこのポインティングに問題がありますか?これについては 2018 年に最も完全に説明されています

JS でのこのポインティングに問題がありますか?これについては 2018 年に最も完全に説明されています

云罗郡主
云罗郡主転載
2018-10-11 16:41:462037ブラウズ

この記事があなたにもたらすのは、JS における this pointing の問題についてです。 2018 年にこれに関する最も完全な説明があり、困っている友人が参考になれば幸いです。​

JS でのこのポインティングに問題がありますか?これについては 2018 年に最も完全に説明されています

これは、呼ばれた人を指します

これを世界的な文脈で見ると

リーリー

これは関数内で

リーリー

これは関数 fn の this であり、fn 関数は window によって呼び出されるため、この関数の this は window を指します。

これはオブジェクト内にあります

リーリー

fnObj メソッドは obj オブジェクト内で定義され、this はその中に出力されます。fnObj は obj オブジェクトによって呼び出されるため、この関数の this は呼び出し元の obj を指します。

これはコンストラクター内で

リーリー

コンストラクター内の this はコンストラクター自体を指します

リーリー

コンストラクターでラベルを取得し、そのラベルにイベントを追加します。このイベントの This は、イベントを呼び出した p を指します。

これはアロー関数で

DOM&BOM 環境のアロー関数

アロー関数の this は継承されます。つまり、アロー関数の this は、上記の this が指す場所を継承します。

リーリー

アロー関数 func の親は関数 b です。関数 b は a によって呼び出されます。したがって、アロー関数 func の this は関数 b の this のポイントを継承します。 apply、call、bind では変更されません

リーリー

アロー関数 func の this はアロー関数 b を継承し、アロー関数 b の this はその親である a オブジェクトを継承します。 a オブジェクトは window によって作成されるため、アロー関数 b の this は window を指し、アロー関数 func は arrow を継承します。したがって、この関数 b もウィンドウを指します。

NodeJS環境のアロー関数
リーリー

ノードのアロー関数の this ポインタも上位レベルの this ポインタを継承しますが、ここには window オブジェクトはなく、module.exports オブジェクトを指します。

上記は、JS でのこのポインティングに関する質問です。 2018 年で最も完全な入門書です。JavaScript ビデオ チュートリアル について詳しく知りたい場合は、PHP 中国語 Web サイトに注目してください。

以上がJS でのこのポインティングに問題がありますか?これについては 2018 年に最も完全に説明されていますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はblog.csdnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。