関数定義方法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
最近Ubuntu 20.04をインストールしましたが、Wi-Fiに接続できず、Wi-Fiアイコンも表...
一般的に、リストには選択機能があり、単一選択、二重選択、複数選択が非常に一般的です。カスタム ループ...
ソースからApacheをインストールする1. Apacheソースコードをアップロードして必要なソフト...
記事「MySQL の最適化: キャッシュの最適化」では、システムによってコンパイルされた変数値、また...
HTML+CSS+JS で Win10 の明るさ調整効果を模倣コード <!doctypehtm...
目次1. メール2. 携帯電話番号3. 電話番号4. URLアドレスですか? 5. 文字列ですか? ...
仮想マシンの IP アドレスを変更します。 次のインターフェイスに入り、サブネット IP を直接変更...
コードをコピーコードは次のとおりです。 <thead> <!– 最初の 2 行をヘ...
>>>>>Ubuntu のインストールと設定の SSH チュートリア...
1. まず、Springbootを使用して簡単なDubboテストプログラムを構築し、関連する依存関係...
FileZilla Serverをサーバーにインストールすると、425データ接続を開けない問題が発生...
プロセス構造図Nginx はマルチプロセス構造です。マルチプロセス構造は、次のような Nginx の...
この記事では、Windows で MySQL をインストールする方法について簡単に説明します。他にご...
いつものように、今日は非常に実用的な CSS 効果についてお話します。マウスがボタンに移動すると、ド...
序文公式アカウントのQRコードは長押しで認識できることは皆さんご存じですが、ミニプログラムに対する制...