我只是有一个小问题,我想澄清一下,如果我创建了一个设置为接受2个参数然后执行一些计算的函数,那么我意识到我创建的函数也可以使用在我的代码的另一部分,但将需要接受一个额外的参数,如何使用该函数,但传入一个额外的参数?
此致 凯尔
答案 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;
...
}