2011-08-07 53 views
0

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

问候 凯尔

回答

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 
2

只要定义采取三个参数的功能。

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

    } else { 

    } 
} 
1

Javascript函数可以根据需要选择多少个参数。

假设你有一个函数:

function fn (a, b, c) {}

但你只给它两个参数,最后将是不确定的。如果你给它的参数比你声明的更多,你可以用参数对象访问它:

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); 

这将提醒 '你好!'。很酷,嗯?

0

用途:

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

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