【復習】javascript関数


1.関数の3つの定義方法 
1.1.関数宣言
function     () {
   //         (     )
}
 1.2.関数式
var fn = function() {
   //       
}
 1.3.関数オブジェクトの構造関数
var     = new Function('       ');
  
  2.関数3要素
  •      関数名
  •      関数パラメータ
  •      関数戻り値
  •     
      3.匿名関数
    関数名がない関数は匿名関数となり、匿名関数は単独では存在しません.
    関数式で定義される関数は匿名関数です.
     var fn = function() {
                
     }
      
     4.自己実行関数(サンドボックス関数)
    调节者が必要です.プログラムを実行するときは、自分で自动的に一回実行します.そして一回だけ実行します.
     //     
    (function() {
        alert('         ');
    })();
    
    
    //      
    (function() {
       alert('       ');
     }());
     
     5.構造関数におけるnewキーワードのすること 
  • new コンストラクタの場合、メモリに空のオブジェクトを作成します.     
  • は、構造関数のthisをこのメモリ内の空のオブジェクトに向ける.          
  • オブジェクトに属性と方法を追加する  オブジェクトには方法と属性があります.     
  • は、このデータがあるオブジェクトを戻します.                         
  •  
    6.jsパラメータの特殊な場合
    jsの関数では、着信パラメータの不確定時に、argmentsを使用して着信パラメータデータを受信することができます. アーグメンツは関数が持つ容器です.
            function fn() {
                // console.log(arguments);  arguments               
    
                for(var i=0;i
    定義された関数が戻り値を示さない場合、関数が呼び出しられたときにそのデフォルトの戻り値undefinedを返します.
     
    7.作用域と作用域チェーン 
  • グローバルスコープ:javascriptタグのトップまたはjs外部ファイルのトップレベルでは、関数によって
  • を包むことができません.
  • ローカルスコープ:関数によって包まれ、局所的スコープ内で作成された変数を局所変数
  • といいます.
  • 作用分域チェーン:変数が有効な範囲と検索規則(関数の内部で局所変数に優先的にアクセスします.関数の内部にないと、前回の作用域の検索を忘れてしまいます.最終的には大域作用域がないとエラーが発生します.)
  • 注意:関数内のモダリティの本質も局所変数です.関数のモダリティは関数内でしかアクセスできません.関数の外部はアクセスできません. 
     
    8.jsの予備解析 
    javascriptコードが実行される前に、コードの事前解析を優先して行い、事前解析が完了したら、コードは上から下へ実行します.
  • var変数宣言により、変数を作成するプロセスは、スコープの先頭にまで向上します.(変数を作成するプロセスだけが向上し、値を付与するプロセスは元の位置にあります.)
  • function関数宣言は、関数を作成する過程で、スコープの先頭に移動します. 
  • varのレベルアップは、functionよりも高くなります.
    例えば、var num=8、jsは2つの部分に事前解析される:
    //     ,           。
    var num;
    //        
    num = 18;