コールバック関数が呼び出されるときの「this」の値は何で決まるのでしょうか?
this の値が設定される場合
JavaScript では、this の値は関数の呼び出し方法によって決まります。これを設定するには主に 6 つの方法があります:
- 通常の関数呼び出し: これはグローバル オブジェクト (ブラウザーのウィンドウなど) に設定されるか、厳密モードでは未定義になります。
- メソッド呼び出し: これは、メソッドが呼び出されるオブジェクトに設定されます。
- .apply() または .call(): this
- new 演算子: new を使用して関数を呼び出すと、新しいオブジェクトが作成され、this がそのオブジェクトに設定されます。
- .bind(): 最初の引数として渡されたオブジェクトにバインドされる新しいスタブ関数を作成します。
- ES6 Fat Arrow Function: this
コールバック関数の場合
あなたの例では:
<code class="javascript">randomFunction(this.sumData.bind(this));</code>
ログイン後にコピー
- this.sumData .bind(this) は .bind() を使用して this を obj オブジェクトにバインドします。
- その結果、randomFunction がコールバック関数を呼び出すと、.bind() により this は obj に設定されます。
- this.sumData.bind(this) を callback(data) と交換する場合、randomFunction 内の this はグローバル オブジェクト (または strict モードでは未定義) に設定されます。
これは次のとおりです。コールバックは this.sumData.bind(this) への参照として渡されるためですが、randomFunction がコールバックを呼び出すと、通常の関数呼び出しのルールに従ってこれが設定されます。
以上がコールバック関数が呼び出されるときの「this」の値は何で決まるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
2週間前
By 尊渡假赌尊渡假赌尊渡假赌
レポ:チームメイトを復活させる方法
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
R.E.P.O.ファイルの保存場所:それはどこにあり、それを保護する方法は?
3週間前
By DDD

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7315
9


Java チュートリアル
1625
14


CakePHP チュートリアル
1348
46


Laravel チュートリアル
1261
25


PHP チュートリアル
1208
29

