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ページのレンダリングプロセスを理解する
遅いログクエリ機能スロー ログ クエリの主な機能は、設定された時間しきい値を超える SQL ステート...
問題の原因: 最初は CentOS 8 のデフォルトの yum ソースを正常に使用できますが、次のコ...
コンセプトMMM (Mysql のマスター マスター レプリケーション マネージャー) は、Perl...
現在の日付を照会する CURRENT_DATE() を選択します。 CURDATE() を選択する;...
1. 概要Zabbix は非常に強力で、最も広く使用されているオープンソースの監視ソフトウェアです。...
序文継続的なコード配信のプロセスで、Jenkins を利用して Docker イメージを作成すると、...
目次1. コンポーネント切り替え方式方法1: v-ifとv-elseを使用する方法 2: 組み込みコ...
リソースを節約するためにWebページの圧縮を設定する1.まず、設定を変更しましょう vim /usr...
ダウンロード:ステップ 1: ウェブサイトを開きます (ダウンロードするには公式ウェブサイトにアクセ...
重要なイベントまであと何日あるか知りたいですか? Linux bash と date コマンドが役に...
1. VMware Workstation 64バージョンをダウンロードするhttps://www....
MySQL をインストールした後、DOS ウィンドウまたは MySQL 5.7 コマンドライン クラ...
この記事では、積み上げ棒グラフを実装するためのVue+echartsの具体的なコードを参考までに紹介...
私がデザインした最初の Web ページは次のとおりです。 私はこの業界に7年間在籍し、プログラミング...
目次1. サブクエリとは何ですか? 2. サブクエリはどこに表示されますか? 3. Whereサブク...