理解javascript函数

时间:2011-08-07 09:44:13

标签: javascript

我只是有一个小问题,我想澄清一下,如果我创建了一个设置为接受2个参数然后执行一些计算的函数,那么我意识到我创建的函数也可以使用在我的代码的另一部分,但将需要接受一个额外的参数,如何使用该函数,但传入一个额外的参数?

此致 凯尔

4 个答案:

答案 0 :(得分:4)

您基本上创建了一个包含任意数量参数的函数函数,并通过传递任意数量的参数来调用它们。

例如:

    function Test(a,b,c)
    {
    }


 //callling Test
  Test(1)
  Test(1,2)  // now inside Function Test c will be undefined
  Test(1,2,3)
  Test(1,2,3,4) // note here i have passed an additonal paramter that will be totally ignored

您可以创建如下的计算器

function Calculate(num1, num2, operation)
{
operation= operation || 'sum'; //sum is the default operator
if(operation == 'sum')
{
return num1 + num2 ;
}
if(operation == 'multiply')
{
return num1 * num2 ;
}
if(operation == 'subtract')
{
return num1 - num2 ;
}
if(operation == 'divide')
{
return num1 / num2 ;
}
}


Calculate(1, 2)  //returns 3  -- defaut operator is picked
Calculate(1, 2, 'sum')  //returns 3
Calculate(1, 2, 'multiply')  //returns 2

答案 1 :(得分:2)

只需定义函数即可获取三个参数。

function myFunction (foo, bar, baz) {
    if (typeof baz !== "undefined") {

    } else {

    }
}

答案 2 :(得分:1)

Javascript函数可以根据需要使用任意数量的参数。

假设你有一个功能:

function fn (a, b, c) {}

但是你只给它两个参数,最后一个是未定义的。如果为其提供的参数多于声明的参数,则可以使用参数object:

访问它

arguments[3]将为您提供第四个参数。参数基本上是一个没有任何数组函数的数组。它只有一个长度属性和按顺序索引的值(例如0,1,2,3 ......)。

使用它的方法是:

function fn (a, b, c) {
    alert(arguments[3]);
}
fn(0, 0, 0, 3);

这会提醒3。

编辑:

这并不完全相关,但功能与任何其他对象相同。例如,您可以获取一个函数(前一个示例中的fn),并为其指定属性。

function fn (a) {alert(a);}
fn.something = 'Hello!!';

然后你可以这样做:

fn(fn.something);

这会警告'你好!!'。很酷,嗯?

答案 3 :(得分:0)

使用:

function itsme(arg1, arg2, arg3){
    arg1 = arg1|| false;
    arg2 = arg2|| false;
    arg3 = arg3|| false;
    ...
}

function itsme(){
    arg1 = arguments[0]||false;
    ...
}