それらは次第に身につけていくJavaScript('argments')


JavaScriptには隠し属性がパラメータにアクセスできます.パラメータも変更できます.それはアルグメンントです.
 
argmentsも、一般モード、厳格モードなど、異なる場合の実行状況に分けられます.いくつかの異なる例について説明します.(本編の実質も一編の続きを含めて)
 
 
一.argmentsによる変形
 
!function(a){
  arguments[0]=100;  //     1  
  console.log(a);  // 100
}(1);  
 argmentsは、疑似配列であり、すなわち、下付きでパラメータにアクセスします.
 
 
 
注:上のコードは実行関数を即座に呼び出します.
!function(){}();
これはただ一つの書き方です.すぐに実行関数を呼び出して、他の多くの書き方があります. 
 
 
 
二.参しない時は、use stricatの下で変形します.
 
!function(a){
  'use strict';  
  arguments[0]=100; 
  console.log(a);  // undefined
}();  //   
 上記のコードの中で、私達は見られます.まだ伝わっていません.
 
 
ここには二つのポイントがあります.
1.パラメータが伝わらない場合はデフォルトはundefinedで、argmentsによって手動で修正してもundefinedです.
2.厳格なモードにおいて、argmentsがパラメータの静的なコピーとなっている場合は、パラメータに影響を与えないようにします.
 
 
 
三.パラメータを対象として、use stricatで変形
 
!function(a){
   'use strict';
   arguments[0].x =100;
   console.log(a.x);   //100
}({x:1});
 パラメータが対象(共有転送)の場合は、アーグメンツを通じて、use stricatで変更されても有効です.