ホームページ > 記事 > ウェブフロントエンド > これをjsで使用する方法
これは JS で何を意味しますか?
これは JS で常に使用されます。今日は、人々を混乱させやすいこれが何であるか、そしてこれをどのように使用するかについて説明します
これは 1 、通常の 関数 のポイントを指します。関数の呼び出し元に通知します。簡単な方法は、関数の前にドットがあるかどうかを確認することです。ドットがある場合は、そのドットの前の値をポイントします。2. アロー関数はドメインをポイントします。関数が配置されている場所: 関数のドメインを理解することに注意してください。関数の {} のみがスコープを構成し、object の {} と if(){} はスコープを構成しません。
通常の関数、呼び出し元は obj であるため、結果は objname になります。これは、say() が通常の関数であり、先頭にドットがあるため、obj を指します。
arrow 関数、これはスコープを指します。関数が見つかり、現在のスコープはグローバル環境であるため、this.name は未定義です。
次の例を更新してください。これでアロー関数の方向が明確に理解できます。アロー関数のスコープは通常の関数です。 Say() の呼び出し元は obj
const obj = { name: 'objName', say() { console.log(this.name); }, read: () => { console.log(this.name); } } obj.say(); // objName obj.read(); // undefinedobj.say(); // obj、この時点では this を指します 彼を定義する obj です
ブラウザのデフォルトの this は window
const obj = { say: function () { setTimeout(() => { console.log(this) }); } }
test(); //window
node.js
のグローバル環境のデフォルトの this は {}、通常の関数のデフォルトの this は global
function test() { console.log(this); }マスターしたかどうかを確認するための 2 つの質問があります
example1
console.log(this); // {} function test() { console.log(this); } test(); //global
Output 10, 2
最初にこの質問を見たときは混乱しましたが、今ではメソッド関数が 2 つのパラメーターを渡すことがようやく理解できました1 つのパラメータは fn() です。fn() は通常の関数です。これは関数の呼び出し元を指し、この時点ではグローバル世界を指します (この関数の前にドットがないこともわかります)。実行結果は 10 になります。引数は、クラス
arrayのオブジェクトである関数のすべてのパラメーターです。この関数は引数によって呼び出されます。今回は、これは引数を参照し、this.length は angument.length を参照します。これは 2 で渡されるパラメータの合計数です
注: ノード環境での上記の例の実行結果は、未定義の 2、const length です。 = 10 は global .length = 10; に変更されます。これは、ノード環境でグローバルに定義された変数
が global にバインドされず、ブラウザーが自動的にグローバル環境ウィンドウにバインドされるためです
obj.dbl(); このコード行を実行すると、これは obj を参照します。したがって、この行を実行すると、 this.val === obj.val *=2、最終結果は 4、val*=2 === window.val *= 2、最終結果は 2
func() になります。このコードでは、func() にはプレフィックスがありません。これは window.func() を参照します。したがって、この時点の this の値は window、this.val === window.val *= 2、この時点では window です。 valは4、val*=2 === window.val *2、最終結果は8です。 最後に、console.log(this.val)とconsole.log(val)は両方ともwindow.valを参照しています。
上記は、これについての私の理解です。この記事に関してご質問がございましたら、お気軽にお問い合わせください。
関連する推奨事項:
以上がこれをjsで使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。