javaScript関数Functionタイプ

3344 ワード

java Scriptのfunctionタイプに関する主要な属性をまとめてみます.主なものをいくつかの言葉に濃縮して、自分の記憶を便利にします.また必要な友達も教えてくれます.
関数はオブジェクトで、関数名はポインタです.
重さがなく、ポインタだけが変化します.
変数の昇格は匿名以外の関数にのみ適用されます.
「return関数を値に変換」
ポイント:
関数の内部属性:
  • thisは、大域または関数内部作用領域
  • に戻る.
  • アーグメンント関数が運ぶパラメータ
  • calee被召喚者は、アーグメンツの下の属性であり、関数内の緊密な結合現象を除去するために
  • である.
    JavaScript高級プログラム設計の中の例を参照して、普通の書き方です.
    //     
    function fac(num){
        if(num<=1){
         return 1;
        }
        else{
        return num*fac(num-1)
        }
    }
    var trueFac=fac;
    fac=function(){
        return 0;
    };
    console.log(trueFac(5));  //0
    console.log(fac(5));      //0
    コールを使った後の書き方:
    function fac(num){
      if(num<=1){
         return 1;
        }else{
        return num*arguments.callee(num-1);
        }
    }
    var trueFac=fac;
    fac=function(){
        return 0;
    }
    console.log(trueFac(5)); ///120
    console.log(fac(5));   //0
    caleeを使うと効果が顕著です.true Fac関数の値の変化です.true Facはfacの針の変化によって変化していません.
    true Facは他の位置に関数のポインタを保存しているからです.
        - caller               ,        。              。
    
    function outer(){
            innter();
    }
    
    function inner(){
        console.log(arguments.callee.caller);
    }
    outer(); 
    //=>
    //function outer(){
    //      inner();
    // }
    関数の属性と方法
  • length関数によって受信されるパラメータの個数
  • prototype定義関数の例示的な方法は、内容が多く、展開しない
  • appy(スコープ、パラメータの配列)
  • call(スコープ、パラメータ1つずつ入力)
  • ビン(オブジェクト)は、関数をオブジェクトに結びつけるために使用される