Javascript関数が身につけるべき基本概念は何ですか?

11815 ワード

関数の作成
  • 宣言式:関数宣言のキーワード:Fnction:変数値のデータ
  • を格納するためにメモリ内に空間を開くことができます.
  • 関数名function foo()を書くのを忘れないでください.
  • 文法:function関数名(条件){コードブロック}
  • 関数定義の仕様:関数名の頭文字小文字
  • 関数の命名規則は変数命名規則と同じです.関数推薦のラクダピーク命名変数は下線命名
  • を推奨します.
  • 関数内のコードは、関数呼び出し時のみ実行されます.
    var foo = function(){
         
    console.log("hello world");
              
    
    参照の種類
  • 関数は参照タイプであり、他の2つの参照タイプはそれぞれ行列、オブジェクト
  • である.
  • 二つの数値が同じnumberを比較演算します.その値は真
  • です.
    var foo = function(){
         
     console.log("hello world");
               
    
  • は、同じように見える二つの関数を比較演算し、その値は偽である.
  • var foo1 = function(){
         }
    var foo2 = function(){
         }
    console.log(foo1 === foo2); // false;
    
  • 上記のコードは参照タイプの比較であり、アドレス格納の位置が異なるため、その値は偽
  • である.
  • コードは実行時にメモリに入れられます.メモリはコードを格納する時、2つの形式に分けられます.
  • スタックFILO先に進んで出ます基本タイプ記憶の値サイズ固定
  • ヒープのFIFO先入れ先出しアドレスはスタックに格納され、アドレスによってスタック内の値を指す
  • .
    関数の呼び出し
    関数呼び出しの2つの形式.1.コードから呼び出します.関数名+()演算子を呼び出します.
     foo();
    
    ブラウザは特定のタイミングで関数を呼び出します.またイベントコールとも言います.コールプロシージャ:htmlタブをトリガーする=>ブラウザを受諾する=>ブラウザを呼び出す関数;例:クリックすると対応する関数をブラウザに呼び出させます.
     btn.onclick = foo btn   onclick     foo   
    
    関数のパラメータ
    関数のパラメータは、実際の参照と参照に分けられます.
    function foo{
         
    if( a === "  "){
         
    console.log("   ")    }
    if( a === "  "){
         
    console.log("   ")
      }
     }}
      ;
    foo( "  " )
    foo( "  " )
    
    上の図のaはイメージ参で、「冷凍」「暖房」はそれぞれこの関数の実証です.
  • は上記で見られます.関数の実参は形成より多くなります.また、形参も実参加より多くなることができます.したがって、大きく2つのケースに分けられます.実参は形参より多い
  • です.
  • 残りのパラメータはいずれもargmentsキーワードを用いて受信し、[]を用いて取り出して
  • を行う.
  • 関数の中にキーワードがあります.彼はすべての実際のパラメータを受け入れることができます.
  • これらのパラメータはどうやって取り出して使いますか?
  • 拡張:JSの中の演算子を取り出す方法=>.英語の入力法の下で[]の中にいかなるデータを入れることができます.argments[]は第二の方法を用いる
  • .
  • は、argments[]で対応するパラメータを取り出すことができます.
    関数の戻り値
  • キーワード:return=>関数の体内使用
  • 例:
  • function foo(){
         
                 return "hello world";
            }
             console.log(foo());
    
    returnの特性:1.関数の中で、returnキーワードがあったら、関数の実行が終わったら、すぐに関数から飛び出して実行します.したがって、関数には、戻り値が3つしかないという特徴があります.どのタイプのデータを返しても返してもいいです.
    関数のパッケージ
  • パッケージの最適化はすべて具体的なニーズに基づいて確立される.
  • パッケージとは、異なるものを抽出してパラメータとすることです.
  • 例:
  • btn.onclick = function(){
         
        setRandomColor(body);
        setRandomColor(btn);
        setRandomColor(box);
             }
    function setRandomColor( ele ){
         
            //     var r = parseInt(256 * Math.random());  //   255 254.xxxxxx
            //     var g = parseInt(256 * Math.random());
            //     var b = parseInt(256 * Math.random());
            //     //      ;  =>    ;
            //   var random_color = "rgb(" + r + "," + g + "," + b + ")";
            //     //         body  ;
            //     //   .style.cssText =    ;
            //     //             =>    ;
            //     ele.style.cssText = "background-color : " + random_color;
            // }
    
    上記のコードは、異なる領域の色をランダムに変化させたいので、関数をイメージに設定し、異なる領域を実装し、関数に伝達することにより、デマンド機能を実現します.
    前解析
  • 事前解析はJavascriptのメカニズムです.彼は言語を解釈するので、コンパイルする必要がありません.
  • 事前解析は、大きく2つの態様において実施される.1.コードが文法的に間違っているか確認します.文法エラーがあったら、プログラムを直接終了します.コードの中に文法が間違っていると、あなたのコードは全部実行されません.
     alert("hello world");
            // alert(a); //       ;
            // function (){
         
            // }
    
    2.昇進を宣言するすべての必要とメモリを相互作用させる行為を前倒しします.すべてのメモリ操作を集中してコード効率を向上させます.例:
    foo();//     ; undefined;
            // var foo = function(){
         
            //     console.log("hello world")
            // }
            // foo();
    foo();
            // var foo = function(){
         
                // console.log("hello world");
            // }
                             
    
    2.1変数アップグレード変数宣言は二つの部分に分けて2.1.1変数宣言になります.この部分だけが向上しました.2.1.2変数の割り当て変数宣言部分だけがvar=foo例を上げました.
    console.log(a);
    var a = 10;var a,b;
     
            //     ,         ;
            a = 10;
            b = 20function foo(){
         
            }
    
    2.2関数アップ;全体アップ;例:
    // foo();
        // function foo(){
         
        // }
    console.log(foo);
    拡張;関数アップと変数アップのどちらが優先度が高いですか?
    1.undefined=>関数を先に上げて、変数宣言を上げます.2.関数、=>関数全体を昇格させて、変数部分を昇格させます.3.昇格させる優先度を宣言して、部分的に優先順位を上げて、全体を昇格させます.