JS基礎(五)関数と対象


JS基礎(五)
一、arguments使用
パラメータがどれだけ伝達されているか分からない場合はargumentsで取得できます.JavaScriptでは、argumentsは実際には現在の関数の組み込みオブジェクトです.
以下の特徴があります.
  • は擬似配列
  • である
  • 配列length属性
  • を有する
  • はインデックス方式で保存することができる
  • .
  • には、push、pop
  • などの真の配列のいくつかの方法がありません.
  • 関数のみargumentsオブジェクトがあり、各関数にはarguments
  • が内蔵されています.
    二、関数宣言
    1、カスタム関数の命名方式(命名関数)
    関数キーワードfunctionによるカスタム関数の使用
    function      (){...}
       ();//  ,         
    

    2、関数式(匿名関数)
    var     = function(){
         ...};
       ();//  ,         
    

    三、作用域
    1、定義
  • この変数名の可用性を限定するコード範囲が、この名前の役割ドメインである.
  • はプログラムロジックの局所性を向上させ、プログラムの信頼性を強化し、名前の衝突を減少させた.

  • 2、グローバル役割ドメイン
    すべてのコード実行環境(scriptラベルの内部全体)または独立したjsファイルに作用します.
    3、局部作用域
    関数内に作用するコード環境は,局所作用ドメインである.
    4、ブロックレベルの役割ドメイン
    jsにはブロックレベルの役割ドメインがありません
    四、変数
    1、グローバル変数
    グローバル役割ドメインで宣言される変数をグローバル変数(関数の外部で定義された変数)と呼びます.
  • 注意:関数の内部に直接付与された変数が宣言されていない変数もグローバル変数
  • に属します.
  • は、ブラウザが閉じた上海でのみ破棄され、メモリ
  • を比較します.
  • グローバル変数は、コードの任意の場所で
  • を使用できます.
    2、局部変数
    ローカル役割ドメインで宣言される変数をローカル変数(関数内部で定義された変数)と呼びます.
  • は、関数の内部でのみ使用できます.
  • 関数の内部宣言変数は、ローカル変数
  • です.
  • 関数のパラメータは実際には局所変数
  • である.
  • プログラムの実行が完了すると
  • が破棄されます.
    五、作用ドメインチェーン
    1、定義
    コードがすべて1つの役割ドメインであれば、関数の内部に書かれた局所的な役割ドメインであり、どの関数の内部にも書かれていないグローバルな役割ドメインである.
    関数に関数がある場合、この役割ドメインにはまた1つの役割ドメインが誕生することができます.
    「**[内部関数が外部関数変数にアクセスできる]**のこのメカニズムに基づいて,どのデータが内部関数にアクセスできるかをチェーン検索で決定することを役割ドメインチェーンと呼ぶ.
    2、作用ドメインチェーン:
    変数の最終的な値を検索するには、近接原則を採用します.
    六、事前解析
    1、jsエンジンはどのようにjsコードを実行するか
    まず文法検査を行い,それから事前解析を行い,最後にコードを実行する
  • 事前解析:現在の役割ドメインでJSコードが実行される前に、ブラウザはデフォルトでvarとfunction宣言を持つ変数をメモリに事前宣言または定義します.
  • コード実行:JS文を上から下へ実行します.事前解析では、変数と関数の宣言をコード実行前に実行します.

  • 1、文法検査段階のエラー:
    jsファイル全体が実行されません(了解)
    2、コード実行段階のエラー:
    現在の場所から次のjsは実行されません(理解)
    2、変数の事前解析
    変数の昇格(変数の事前解析):変数の宣言は現在の役割ドメインの一番上に昇格し、変数の付与値は昇格しません.
    3、関数の事前解析
    関数の昇格:関数の宣言は現在の役割ドメインの一番上に昇格しますが、関数は呼び出されません.
    関数式の昇格?関数のリフトは存在せず、変数のリフトのみが存在します.
    (拡張)関数と変数を同時に昇格させる:
    //関数宣言の優先度は変数宣言より高いが、変数付与値より高くない
    七、対象(object)
    1、定義
    オブジェクトは無秩序な関連属性とメソッドの集合であり、すべてのものがオブジェクトである.
  • 属性:物事の特徴、対象に属性で表す(常用名詞)
  • 方法:物事の行為、対象の中で方法で表す(常用動詞)
  • 2、オブジェクトを作成する3つの方法
    1、字面量オブジェクトを作成する
    var     =1'',
      2'',function(){...};//             //  :          
    

    オブジェクトのプロパティを呼び出します.
    1)console.log(   .  1)2)console.log(   ['  1'])
    

    オブジェクトメソッドを呼び出します.
       .

    2、new Objectを利用してオブジェクトを作成する
    var andy = new Obect();
    

    オブジェクトのプロパティを追加するフォーマット:オブジェクト.属性=値;
    3、コンストラクション関数によるオブジェクトの作成
    書式:
     function      (  1,  2,  3) {
     this.   1 =   1;
     this.   2 =   2;
     this.   3 =   3;
     this.    =    ;
     }
    

    呼び出しフォーマット:
    var obj = new      (  123)
    
  • 構造関数は、頭文字の大文字を約束します.
  • 関数内のプロパティとメソッドの前にthisを追加する必要があります.これは、現在のオブジェクトのプロパティとメソッドを表します.
  • コンストラクション関数ではreturnが結果を返す必要はありません.
  • オブジェクトを作成するときは、newを使用してコンストラクション関数を呼び出す必要があります.

  • 3、newキーワード実行プロセス★★★★
  • まずメモリにメモリ容量を追加し、作成するオブジェクト
  • を格納する.
  • thisキーワードでメモリ領域
  • を指す
  • this追加プロパティメソッド
  • 追加が完了すると、このthisに戻り、オブジェクトの作成を完了する
  • 4、オブジェクトの遍歴
    for(変数inオブジェクト名){
    for (   in     ) {
         
    //       
    }
    
    for (var k in obj) {
         
    console.log(k);      //     k     
    console.log(obj[k]); //     obj[k]     
    }