アクションスクリプト:総称関数の再利用性を向上させる


  Share  
|


わずかな変化をしたいのアクションを実行せずに、複数の行のコードの重複を収容マイナー違いがあります。

パラメータを追加して十分な機能を柔軟にすること若干異なるアクションを実行するときに呼び出されることはなく、全く同じ行動を実行したりするたびに同じ結果を生産しています。

アカウントのパラメータを定義するには、何をしたいの変動は、関数を行う:

 機能myparamsfunction ( param1 、 param2 、 param3 ) (トレース( "の平均は" + ( param1 + param2 + param3 ) / 3 ) ; ) 

がわからない場合は、正確な数のパラメータを受け取る関数は、引数を使用して組み込まれている配列を処理するパラメータの数は可変します。

関数の通常のパラメータを受け入れることはできませんが生成されるたびに同じ結果を得ることが呼び出されます。 でも頻繁に実行する必要性をほぼ正確に同じアクションとして、既存の関数ではなく、マイナーのパターンです。 全体を複製する機能を作り、その後マイナー変更して、 2つ目のバージョンは、ほとんどの場合、悪い考えました。 通常は、コードを困難にすることができ、それを維持すると理解します。 さらに重要なのは、通常検索していただく必要はありませんしかし、多くのパターンの2つのパターンのみの機能です。 悪夢を維持することができ、 5 〜 6のパターンはどうすれば理想的な機能を1つに包まれます。 トリックを作成するには、 1つの異なる価値観を受け入れることができる機能を操作します。

たとえば、お持ちの場合は平均( )関数は、指定したい任意の値を平均が呼び出されるたびに、ではなくて、いつもの平均と同じ2つの数字です。 この目標を達成するパラメータを使用することができます。

ほとんどの仕事をして共通の方法をリストしたパラメータは、かっこ内の、関数宣言します。 このパラメータの名前をカンマで区切ってなければならない、と関数を呼び出すときに渡す必要がありそれをカンマで区切って引数を指定することを期待してパラメータに対応しています。

利用規約"パラメータ"と"引数"を参照して交互によく使用される変数や関数の宣言で定義された値が渡されたときに機能することが呼び出されます。

ここでは、簡単な例では、パラメータを使用すると、関数宣言で関数の呼び出し中に渡される引数は関数呼び出し:

  / /関数を定義することを期待してこのような2つのパラメータ: aとb 平均関数( aとb ) (トレース( "の平均は" + ( a + b )に/ 2 ) ; ) 
  / /関数を呼び出すときには、二つの引数を渡すことなど、 6 、 12 、それ/ / aとbのパラメータに対応しています。  / / ( )が表示され、この電話をかけるの平均: "の平均は、 9 "の平均( 6 、 12 ) ; 

パラメータと同じ方法で正確に仕事をリテラルと同じように機能する関数の名前:

 平均値=関数( aとb ) (トレース( "の平均は、 : " + ( a + b )に/ 2 ) ; ) ; 

ほとんどの状況では、パラメータを宣言することが最善の機能を期待しています。 しかし、いくつかのシナリオでは、パラメータの数は不明です。 たとえば、平均したい場合は( )関数を任意の数の平均値を使用することができ、内蔵の配列の引数は、関数内で利用可能なすべての遺体します。 すべてのパラメータが渡される関数は、自動的に配置され関数の引数配列しています。

  / /必要はありませんパラメータを指定/ /を承認する際に使用して引数配列します。 関数の平均( ) ( var結果= 0 ; 
  / /ループを通して、各要素の引数の配列/ /および結果の値を追加します。  ( varよい= 0 ;私< arguments.length ;私+ + ) ( + =結果の引数に[ i ] ; ) / /続いて分割された引数の数を合計します。 トレース( "の平均は" +結果/ arguments.length ) ; ) 
  / /平均( )を呼び出すことができ、任意の数のパラメータです。  / /このケースでは、機能が表示され: "の平均は、 7.5 "とします。 平均( 3 、 6 、 9 、 12 ) ; 

厳密に言えば、引数は、オブジェクトのプロパティを追加して、基本的なアレイを超えました。 しかし、中には特別な種類の配列の引数は、まだ仕事をすることができてものがある場合には、同じ方法で、定期的に配列します。

これは、記事を追加したガブリエルサビンビ

Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions