1. ルール 1: Object.Method()
1.1 ケース1関数fn() { コンソールにログ出力します。 } var obj = { 66, b: 33, 注釈: 注釈 } obj.fn(); 出力:
1.2 ケース2var obj1 = { 66, b: 33, fn:関数(){ コンソールにログ出力します。 } } var obj2 = { 66, b: 33, 引数: obj1.fn } obj2.fn(); 出力:
1.3 ケース3関数outer() { var a = 11; var b = 22; 戻る { 33, b: 44, fn:関数(){ コンソールにログ出力します。 } } } 外側のfn(); 出力:
1.4 ケース4関数fun() { コンソールにログ出力します。 } var obj = { a: 1、b: 2、c: [{ a: 3、b: 4、c: 楽しい }] }; var a = 5; obj.c[0].c(); 出力:
2. ルール 2: Function()
2.1 ケース1var obj1 = { a: 1、b: 2、fn: 関数 () { コンソールにログ出力します。 } } var a = 3; var b = 4; var fn = obj1.fn; 関数fn(); 出力:
2.2 ケース2関数fun() { this.a + this.b を返します。 } var a = 1; var b = 2; var obj = { a: 3, b: fun(), // ルール2を適用 楽しい:楽しい } var result = obj.fun(); // ルール1が適用される console.log(結果); 出力:
3. ルール3: 配列の添え字
3.1 ケース1var arr = ['A', 'B', 'C', 関数() { コンソールにログ出力します。 }]; ar[3](); 出力:
3.2 ケース2関数fun() { 引数[3](); } fun('A', 'B', 'C', 関数() { コンソールにログ出力します。 }); 出力:
4. ルール4: IIFE 4.1 ケース1var a = 1; var obj = { a: 2、 楽しい: (関数() { var a = this.a; // ルール1が適用される return function () { // ルール4が適用される console.log(a + this.a); // 2+1 } })() }; obj.fun(); 出力:
5. ルール5: タイマーと遅延
5.1 ケース1var obj = { a: 1、b: 2、関数() { コンソールにログ出力します。 } } var a = 3; var b = 4; setTimeout(obj.fun, 2000); // ルール5が適用される 出力:
5.2 ケース2var obj = { a: 1、b: 2、関数() { コンソールにログ出力します。 } } var a = 3; var b = 4; setTimeout(関数() { obj.fun(); //ルール1を適用 }, 2000); 出力:
6. ルール6: イベント処理関数
6.1 ケース1次の効果を実現してください: クリックされたボックスはどれも赤に変わります。これを実現するには、同じイベント処理関数を使用する必要があります。 <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <meta http-equiv="X-UA-compatible" content="IE=edge"> <title>ルール 6: イベント処理関数</title> <スタイル> * { マージン: 0; パディング: 0; } 本体div{ フロート: 左; 幅: 100ピクセル; 高さ: 100px; 右マージン: 10px; 境界線: 1px実線 #000; } </スタイル> </head> <本文> <div id="box1">1</div> <div id="box2">2</div> <div id="box3">3</div> <スクリプト> 関数 changeColor() { this.style.backgroundColor = '赤'; } var box1 = document.getElementById('box1'); var box2 = document.getElementById('box2'); var box3 = document.getElementById('box3'); box1.onclick = 色を変更します。 box2.onclick = 色を変更します。 box3.onclick = 色を変更します。 </スクリプト> </本文> </html> 結果: 6.2 ケース2次の効果を実現してください: ボックスをクリックすると、2000 ミリ秒後にボックスが赤くなります。これを実現するには、同じイベント処理関数が必要です。 ケース 1 との違い: バックアップ コンテキストが必要です。 関数 changeColor() { var self = this; // バックアップコンテキスト setTimeout(function () { self.style.backgroundColor = '赤'; }, 2000); } var box1 = document.getElementById('box1'); var box2 = document.getElementById('box2'); var box3 = document.getElementById('box3'); box1.onclick = 色を変更します。 box2.onclick = 色を変更します。 box3.onclick = 色を変更します。 JavaScript 関数のコンテキスト ルールに関するこの記事はこれで終わりです。JavaScript 関数のコンテキスト ルールの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Tomcat Nativeを使用してTomcat IO効率を向上させる方法の詳細な説明
目次条件付きコンパイルページレイアウト要約する条件付きコンパイル条件付きコンパイルでは、特別なコメン...
MySQLはインストール時に設定できますが、それより低いバージョンは設定できないようで、インストール...
pthread_create関数機能紹介pthread_createはUNIX環境のスレッド作成関数...
1. 一般的なMySQLの設定以下のすべての構成パラメータは、32G のメモリを搭載したサーバーに基...
目次背景分析する方法背景MySQL は 26 日の 16:23:49 に大量のスロー クエリを生成し...
目次1. はじめに2. ルール検証の入力モード2.1 サンプルコード2.2、フォーム項目2.3. 小...
目次序文構築可能なスタイルシートとは何ですか? CSSモジュールスクリプトの使用インポートアサーショ...
方法1: CSSオーバーフロー省略を使用して解決する解決策は次のとおりです。 CSSコード: ディス...
HTML スタイル タグスタイルタグ - ドキュメント内でスタイルを宣言するときにこのタグを使用しま...
1.MySQLレプリケーションの概念これは、プライマリ データベースの DDL および DML 操作...
1. 表示効果: 2、HTML構造 <div class="プロセスリスト-lpu...
目次【コード背景】 【コード実装】 #1# -> コード再利用の基本は、再利用可能なコンポーネ...
質問:最近、プロジェクトを展開すると文字化けしたデータが出てきました。確認したところ、プロジェクトは...
目次現状解決さらなる解決策やっと現状WeChat ミニプログラムには、ホームページ、個人ページ、いく...
文法以下は、MySQL テーブルにデータを挿入するための INSERT INTO コマンドの一般的な...