js 或jquery定义方法时,参数不固定是怎么实现的

 我来答
远望曾经
2016-08-10 · TA获得超过123个赞
知道答主
回答量:69
采纳率:100%
帮助的人:50.6万
展开全部

如果参数不固定,在定义方法时,就不要接受参数,或定义一个参数object:

//①不定义接受参数的方式来接受参数(arguments)
function getparams(){
//利用arguments来接受参数,arguments表示参数集合,
//里面存放的调用这个方法所传递过来的所有参数的集合
 var _q=arguments[0];//0位置表示q参数
 var _a=arguments[1];//1位置表示a参数
 var _b=arguments[2];//2位置表示b参数
 var _c=arguments[3];//3位置表示c参数
 var _d=arguments[4];//4位置表示d参数
}
getparams(q,a,b,c,d);

//②定义一个object方式接受不固定的参数的方式
function getparams(obj){
  var a=obj['a'];//接受obj中的a参数
  var b=obj['b'];//接受obj中的b参数
}
getparams({'a':1,'b':2,'c':3,'d':4});

上面2中方式,都需要自己清楚,第几个参数是做什么用的,也就是定义参数位置的作用。不要用错了。

小样乐呵着_X
推荐于2018-03-04 · 超过18用户采纳过TA的回答
知道答主
回答量:32
采纳率:100%
帮助的人:24.9万
展开全部

总的来说,可以通过arguments这一个对象来实现。

function method() {
    var slice = [].slice,
        args = arguments.slice(1);// 参数忘了。。。应该是1
    //这时候参数就在args里面。args是数组。
    .....
}
//另外一种,可能是通过对象实现?
比如
function method(obj) {
    var arg1 = obj.arg1 || arg1,
        arg2 = obj.arg2 || arg2,
        ....
    //上面的arg1, arg2 是默认的值。
 }
 var obj = {
     arg1: 2,
 }//这时候就一个参数;
 var obj2 = {
     arg1: 2,
     arg2: 3
 }

这样就可以实现参数不固定。我记得后面一种方式经常在jQuery里能看见。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-12-16
展开全部
这个实例可能是你想知道的内容。
<script type="text/javascript">
window.onload = function(){
// 初始化调用一次 myfun,参数为 c ,c 就是最下边的 function c,是一个方法
myfun(c);
}
// 使用 var ** = function(){} 定义一个方法,其中的参数为 newfun
var myfun = function(newfun){
alert("我是方法");
// newfun 使用() 结尾,js自动把 newfun 转为方法调用一次
newfun();
}
function c(){
alert("我是参数");
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
猴哥0303
2016-07-29 · TA获得超过119个赞
知道小有建树答主
回答量:156
采纳率:0%
帮助的人:120万
展开全部
首先
对于参数不固定 可能是你想代码复用
根据传进来的参数 操作不同的元素
那么你可以 在定义方法时 假设给一个形参
这样你在调用的时候 就要传进去一个实参
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式