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;
但是如何在不分配变量的情况下调用它? 如果有人能给出任何建议,那将是令人愉快的。谢谢。
答案 0 :(得分:2)
你只需要这样称呼:
avg(2, 3, 5);
如果您想查看结果,请将其置于提醒通话中:
alert( avg(2, 3, 5) );
答案 1 :(得分:0)
你不需要在变量中调用函数的结果,你可以用它做任何你想做的事。
例如,将其用作警报中的值:
alert(avg(2,3,5));
您可以在另一个表达式中使用它:
var message = "The average is " + avg(2,3,5);
您可以直接在另一个电话中使用它:
someFunction(avg(2,3,5));
你甚至可以通过不对它做任何事情来抛弃结果,即使这在这种特定情况下没用:
avg(2,3,5);
答案 2 :(得分: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 ;
}
然后它可以帮助您查看函数何时被调用。
答案 3 :(得分:0)
你需要理解表达的概念。
每个表达式作为一个整体代表一个值。表达式可以由多个子表达式组成,这些子表达式以某种方式组合(例如与运算符组合)以产生新值。
例如:
3
是一个表达式(文字,具体而言),表示数值为三。3 + 4
是一个表达式,由两个文字表达式组成,整体上产生值7 将值分配给变量时 - 如var average =
- =
的右侧 - 运算符需要是一个表达式,即产生的东西价值。
如您所见,average
将被赋值为五。因此,avg(2, 3, 5)
本身必须是一个表达式,其值为5
。
average
本身是一个表达式,表示所述变量的当前值。
最重要的是,avg()
与var average =
无关。 avg()
独立存在,您可以将其视为普通值,例如5
(当然还有其他差异)。
如果你已经理解了表达式和值的概念,那么应该很清楚,如果你能做到
var average = avg(2,3,5);
average; // It works fine;
您也可以
avg(2,3,5);