JavaScript の this も不思議なものです。オブジェクト指向プログラミング (Java など) では、これは現在のオブジェクト参照を表します。ただし、JavaScript では this は固定されておらず、実行環境に応じて変化します。 これいつものように、まずはコードを見てみましょう。 方法関数テスト(){ console.log(これを); } オブジェクト内関数テスト(){ console.log(これを); } メソッドでは、this はメソッドが属するオブジェクトを参照します。最初のものは window のメソッドなので、window が出力され、eat メソッドは Person メソッドなので、オブジェクト Person が出力されます。 したがって、コンソールでこれを単独で使用すると、グローバル オブジェクトが表されることがわかります。 これを隠したオブジェクトでは、事前に 1 つずつ宣言できます。 var Person1 = { 名前:"張三", 年齢:18 } var Person2 = { 名前:"Li Si", 年齢:19 } これを書くのは非常に面倒なので、次のように Java クラスの概念から学ぶことができます。 var Person = 関数 (名前, 年齢) { this.name=名前、 this.age=年齢 } var Person1=new Person("张三",18); var Person2 = new Person("李斯",19); 実際、new には return this が隠されています。new を使用しないと、新しく作成されたオブジェクトが返されないことがわかります。 では完成させましょう: var Person = 関数 (名前, 年齢) { this.name=名前、 this.age=年齢 これを返します。 } var Person1=new Person("张三",18); var Person2 = new Person("李斯",19); この方法では、次の効果を偽装することもできます。 var Person = 関数 (名前, 年齢) { var = {}; that.name=名前、 that.age=年齢 それを返す; } var Person1=new Person("张三",18); var Person2 = new Person("李斯",19); 厳密モードこれは、厳密モードと非厳密モードで魔法のような動作をします 関数テスト() { これを返します。 } # js の前に「use strict」を追加すると、厳密モード「use strict」を意味します。 関数テスト() { これを返します。 } これは、非厳密モードの関数では、関数の所有者がデフォルトでこれにバインドされていることを示しています。したがって、グローバル値は印刷できますが、厳密モードでは関数はこれにバインドされないため、これは未定義になります。 要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: CSS フレックスベースのテキストオーバーフロー問題の解決方法
>>: フロントエンドのパフォーマンス最適化を学ぶ準備として、HTMLページのレンダリングプロセスを理解する
目次Prometheusはエクスポーターを介してMySQLを監視し、Grafanaチャートで表示しま...
序文一般的な方法はここには記載されていませんが、等しいかどうかを判断するための二重ループや、比較のた...
Nginx の設定構文は柔軟で、高度に制御可能です。バージョン 0.7 以降では、try_files...
Explain コマンドは、データベースのパフォーマンス問題を解決するために最初に推奨されるコマンド...
ゼロ: 古いバージョンをアンインストールするDocker の古いバージョンは、docker、dock...
目次典型的なウォーターフォールウェブサイトウォーターフォールフローレイアウトの原則一般的な考え方具体...
目次概要1. グローバル登録2. 現地登録3. モジュールシステムへのローカル登録概要コンポーネント...
Nginx は、一般的に 7 層の負荷分散に使用できます。この記事では、負荷分散に関する基本的な知識...
基本的な構文: <input type="hidden" name=&qu...
目次整合性制約整合性制約の定義整合性制約の分類主キー制約単一の主キーと複合主キーの違い主キーフィール...
序文Vue には、v-if、v-bind、v-on などの豊富な組み込みディレクティブが用意されてい...
序文: Linux ホストは、エージェント プログラムをインストールする場合でも、SNMP を使用す...
目次URL 内の特殊文字URL 特殊文字エスケープ、URL 内の一部の文字には特別な意味があり、基本...
ElasticSearch クラスターは、クラスターを構築するための動態請求的方式と靜態配置文件をサ...
1. 属性付きHTMLタグXML/HTML コードコンテンツをクリップボードにコピー< htm...