関数定義方法function fn(){}//名前付き関数 var fun=function(){}//無名関数// new fn=new Funcion("parameter 1","parameter 2","function body")、ほとんど使用されません。 //すべての関数は Function のインスタンス オブジェクトです (関数もオブジェクトです) var fn = new Function("a","b","console.log(a+b)") console.log(fn instanceof Object) //true 関数呼び出し(6種類)これは問題を指摘している1. 通常機能:ウィンドウ 2. オブジェクトメソッド: インスタンスオブジェクトobj1 3. コンストラクター: インスタンス オブジェクト。プロトタイプオブジェクト内のこれもインスタンスオブジェクトldhを指します。 4. イベント関数をバインド: イベント呼び出しボタン1 5. タイマー: ウィンドウ 6. 関数をすぐに実行: ウィンドウ 関数内のthisポインタを変更する: call(), apply(), bind(), すぐに関数を呼び出す必要はないが、関数内のthisポインタを変更したい場合はbindを使う。 厳密モードスクリプト全体または関数に対して有効にします: "use strict"; 厳密なモデル構文仕様: 1. 変数は使用前に宣言する必要がある 2. 宣言した変数を自由に削除することはできない 3. 厳密なモデルではグローバルスコープの関数内の this は未定義です 4. コンストラクタは新しい呼び出しを追加しません。これは undefined を指しており、undefined に値を割り当てるとエラーが発生します (以前は window を指していましたが、これは window にプロパティを追加することと同じです)。 5. タイマーの this はまだウィンドウを指しています。イベント、オブジェクト、または呼び出し元を指します。 6. パラメータに同じ名前は付けられない 7. 関数はトップレベルで宣言する必要があります。JavaScript の新しいバージョンでは、「ブロックレベル スコープ」(ES6 で導入) が導入されます。新しいバージョンに対応するために、関数以外のコード ブロック内で関数を宣言することは許可されていません。 高階関数定義: 高階関数は、他の関数に対して操作を行う関数であり、関数をパラメータとして受け取るか (コールバック関数)、または関数を出力として返します。 閉鎖クロージャは、別の関数のスコープ内の変数にアクセスできる関数です。簡単に言えば、スコープは別の関数内のローカル変数にアクセスできます。 クロージャの役割: 変数のスコープ拡張 終了演習: バインディング イベントとタイマーは非同期操作であり、すぐには実行されないことが知られています。 (function(i){...})(i) 関数はすぐに実行され、パラメータは最後に括弧に渡されます。関数内の括弧は再びパラメータを受け取ります。すぐに実行される関数は小さなクロージャとも呼ばれ、その内部にあるすべての関数は内部変数にアクセスできます。 (1)クリックすると現在のインデックス番号が出力されます(インタビューではよくあることです) (2)<li>内のコンテンツの出力を3秒遅らせる (3) 閉鎖について考える: 再帰: 自分自身を呼び出す関数には終了条件が必要ですディープコピーとシャローコピー:1. 浅いコピー: 最上位層のみがコピーされ、深層オブジェクトのアドレスのみがコピーされるため、元の深層データに変更があると、コピーされた深層データにも変更が加えられる。 オブジェクトを割り当てます(objNew、objOld) 2. ディープコピー: すべてのディープデータ値を新しいオブジェクトにコピーします。新しいオブジェクトと古いオブジェクトのデータ変更は相互に影響しません。 以下もご興味があるかもしれません:
|
<<: 5分でDockerを使ってRedisのクラスターモードとセンチネルモードを構築する方法を教えます
>>: CSS 要素の非表示の原則と display:none および visibility:hidden
基礎位置の一致順序は、「最初に正規表現に一致し、次に共通表現に一致」です。実際のロケーションの一致順...
ハイパーリンクハイパーリンクは、Web サイト上のすべてのページがハイパーリンクで接続され、ページ間...
目次序文: 1. データ移行について2. 移行計画と留意点要約:序文:日常業務では、テーブル、データ...
概要バックアップは災害復旧の基礎であり、システム操作エラーやシステム障害によるデータ損失を防ぐために...
Nginx の設定構文は柔軟で、高度に制御可能です。バージョン 0.7 以降では、try_files...
3 つの属性 flex-grow、flex-shrink、flex-basis の機能は次のとおりで...
ここではCentOS7が使用されており、カーネルバージョンは [root@localhost ~]#...
この記事の例では、ログインインターフェース検証コードを実装するためのlayuiの具体的なコードを参考...
この記事では、参考までにEasy Notepadを実装するためのVueの具体的なコードを紹介します。...
成果を達成する html <h2>CSS3 タイムライン</h2> <...
Msyqlデータベースのインストール、参考までに具体的な内容は次のとおりです。 ①ブラウザでhttp...
Ubuntu環境におけるPHP関連パスPHP パス /usr/bin/php phpize5 /us...
CSS3 はアニメーションを作成でき、多くの Web ページのアニメーション画像、Flash アニメ...
チェックボックスの使用を実装するために画像を使用する必要がある場合は、それを使用して実装できます。実...
目次1. インストール2. インポート3. 検証ルールを定義します(エクスポート用に js ファイル...