我只是有一个小问题,我想澄清一下,如果我已经创建了一个函数来设置接受2个参数,然后执行一些计算,但后来我意识到我创建的函数可以也可以用在我的代码的另一部分,但将需要接受一个额外的参数,如何使用该函数,但通过一个额外的参数?了解JavaScript函数
问候 凯尔
我只是有一个小问题,我想澄清一下,如果我已经创建了一个函数来设置接受2个参数,然后执行一些计算,但后来我意识到我创建的函数可以也可以用在我的代码的另一部分,但将需要接受一个额外的参数,如何使用该函数,但通过一个额外的参数?了解JavaScript函数
问候 凯尔
您基本上创建了一个函数函数,其中包含任意数量的参数,并通过传递任意数量的参数来调用它们。
例如:
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
只要定义采取三个参数的功能。
function myFunction (foo, bar, baz) {
if (typeof baz !== "undefined") {
} else {
}
}
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);
这将提醒 '你好!'。很酷,嗯?
用途:
function itsme(arg1, arg2, arg3){
arg1 = arg1|| false;
arg2 = arg2|| false;
arg3 = arg3|| false;
...
}
或
function itsme(){
arg1 = arguments[0]||false;
...
}