1
 var avg = function() 
   {
     var sum = 0;
      for (var i = 0, j = arguments.length; i < j; i++) 
        {

           sum += arguments[i];
         }
      return sum / arguments.length;
   }

これを次のように呼び出そうとすると:

var average = avg(2,3,5);
average; // It works fine;

しかし、変数に代入せずに呼び出すにはどうすればよいでしょうか? 誰かが何か提案をすることができれば、それは楽しいでしょう..ありがとう.

4

4 に答える 4

2

次のように呼び出すだけです。

avg(2, 3, 5);

結果を確認したい場合は、アラート呼び出しに入れます。

alert( avg(2, 3, 5) );
于 2012-09-15T12:02:54.350 に答える
0

式の概念を理解する必要があります。

すべての式は、全体として1 つの値を表します。式は、新しい値を生成するために何らかの方法 (演算子など) で結合された複数の部分式で構成できます。

例えば:

  • 3数値 3 を表す式 (具体的にはリテラル) です。
  • 3 + 4全体として値 7 を生成する、2 つのリテラル式で構成される式です。

変数にを代入する場合 (例のように)、 var average =-operator の右側=は式、つまり値を生成するものである必要があります。

ご覧のとおりaverage、値 5 が割り当てられます。したがって、avg(2, 3, 5)それ自体が value に評価される式である必要があります5

averageそれ自体は式であり、変数の現在の値を示します。

ここから取り除かなければならない最も重要なことは、それavg()var average =. avg()のような普通の値のように考えることができます5(もちろん他にも違いはあります)。

式と値の概念を理解していれば、次のことは明らかです。

var average = avg(2,3,5);
average; // It works fine;

あなたもできる

avg(2,3,5);
于 2012-09-15T12:33:54.763 に答える
0

関数を呼び出した結果を変数に入れる必要はありません。好きなことを行うことができます。

たとえば、アラートの値として使用します。

alert(avg(2,3,5));

別の表現で使用できます。

var message = "The average is " + avg(2,3,5);

別の呼び出しで直接使用できます。

someFunction(avg(2,3,5));

この特定の状況では役に立たなくても、何もしないで結果を破棄することもできます。

avg(2,3,5);
于 2012-09-15T12:10:12.557 に答える
0

結果を変数や互換性のあるコンテキストに入れないと、この関数は何も出力できないので、結果を出力させないと使いづらいです。これを試して :

var avg = function() 
   {
     var sum = 0;
      for (var i = 0, j = arguments.length; i < j; i++) 
        {

           sum += arguments[i];
         }

      var retvalue = sum / arguments.length;
      consoloe.log("avg: "+retvalue);
      return retvalue ;
   }

次に、関数が呼び出されたかどうかを確認するのに役立ちます。

于 2012-09-15T12:10:41.417 に答える