js不能重载方法。但是js可以在function内使用arguments数组对象。
这里我就只copy一段帮助文档里的例子:
function ArgTest(a, b){
var i, s = "The ArgTest function expected ";
var numargs = arguments.length; // 获取被传递参数的数值。
var expargs = ArgTest.length; // 获取期望参数的数值。
if (expargs < 2)
s += expargs + " argument. ";
else
s += expargs + " arguments. ";
if (numargs < 2)
s += numargs + " was passed.";
else
s += numargs + " were passed.";
s += "\n\n"
for (i =0 ; i < numargs; i++){ // 获取参数内容。
s += " Arg " + i + " = " + arguments[i] + "\n";
}
return(s); // 返回参数列表。
}
js不能重载方法。
但是js可以在function内使用arguments数组对象。这里我就只copy一段帮助文档里的例子:function ArgTest(a, b){ var i, s = "The ArgTest function expected "; var numargs = arguments.length; // 获取被传递参数的数值。
var expargs = ArgTest.length; // 获取期望参数的数值。 if (expargs < 2) s += expargs + " argument. "; else s += expargs + " arguments. "; if (numargs < 2) s += numargs + " was passed."; else s += numargs + " were passed."; s += "\n\n" for (i =0 ; i < numargs; i++){ // 获取参数内容。
s += " Arg " + i + " = " + arguments[i] + "\n"; } return(s); // 返回参数列表。}。
get请求是以链接的方式,在链2113接的后方加上?就可以添加地5261址参数,并且可以添加多个。
具体格式如下:
?type=1&name=zhidao&value=10
在这个实例中可4102以看到,有三个参数,包括type、name、value,多个参数中间记得1653要用&符号隔开。
不知道你用的get是不是用的jQuery的$.get方法内,jQuery的get方法链接是有长度限制的,具体的一下子也说不清楚,还是要容靠你自己去学习。
// 定义多个参数
function test(a,b,c){
console.log('第一个参数',a);
console.log('第二个参数',b);
console.log('第三个参数',c);
}
test('参数1','参数2','参数3');
// 参数可以是JSON对象
function test(params){
console.log('第一个参数',params.a);
console.log('第二个参数',params.b);
console.log('第三个参数',params.c);
}
test({a:'第一个参数',b:'第二个参数',c:'第三个参数'});
不懂继续问
楼上两位已经给出了正确的代码。
function sum() { var sum = 0; for (var i=0; i sum += arguments[i]; } return sum; } alert(sum(1.1, 2.2)); alert(sum(2.1, 1.1, 3.1)); javascript的语法不像其他语言的那么严格。即使方法定义时写了参数,调用时如果没有,那么会自动忽略该参数。
比如sum(a,b){return a+b;},调用时写sum(a),这是可以正确运行的。同样的道理,即使定义时不写参数,调用的时候加上参数,也是可以正确运行的。
这里就用arguments来获取调用时传入的参数了。
查看。
如果是别人那找来的源码,空格不一定管用。
如果是你自己写的,可以不用设置形参,而直接使用arguments数组来接受实参。
比如以下是一个求任意几个数和的函数
function sum()
{
var mysum = 0;
if (arguments.length>1)
{
for (i=0;i<arguments.length;i++)
{
mysum += parseInt(arguments[0]);
}
}
return mysum;
}
调用的时候可以任意使用实参,比如sum(1,2,3,4,5,6,7)都是可以的
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:2.635秒