首页新闻找找看学习计划

JS方法中的参数传递

0
悬赏园豆:5 [已解决问题] 解决于 2016-07-03 09:55

我定义了这样一个方法

my.numberbox = function (required, min, max) {}

调用的时候可以这样my.mumberbox(true,0,6000)

如果我只想使用第三个参数有没有什么方法。

我这样试了一下是不行的:

my.mumberbox(max=6000)

德展自动化的主页 德展自动化 | 菜鸟二级 | 园豆:224
提问于:2016-06-04 08:27
< >
分享
最佳答案
0

写JS先了解一下JS的基础行不行,JS参数缺省的时候默认是按照参数定义的顺序传递的好吧。。。

如果你只想传max,你就把max放最前面

或者干脆不放参数,在方法体里通过argument来获取参数个数,获取最后一个认定为max参数

如:

var max = arguments.length ? arguments[arguments.length - 1] : undefined;
if (max) {

//你的逻辑

}

收获园豆:5
Я!ńɡ | 菜鸟二级 |园豆:268 | 2016-06-15 17:00
其他回答(4)
0

my.numberbox = function (options) {

}

 

my.numberbox({max: 6000})

幻天芒 | 园豆:36594 (高人七级) | 2016-06-04 08:37

 不行,不起作用的,你可以试试

就是这样都不行:

my.numberbox({ required: true, min: 0, max: 6000})

支持(0) 反对(0) 德展自动化 | 园豆:224 (菜鸟二级) | 2016-06-04 08:46

@德展自动化: 你函数内部也得改哇。options.max

支持(0) 反对(0) 幻天芒 | 园豆:36594 (高人七级) | 2016-06-05 21:51
0

直接在方法里面做判断不行么,没见过有这种写法

一码一生命 | 园豆:234 (菜鸟二级) | 2016-06-04 09:48
0

这种写法的用意是什么?判断大小返回一个布尔值吗?

Liu3 | 园豆:202 (菜鸟二级) | 2016-06-04 14:34
0

你说的使用时方法体里面使用吗?没明白你说的什么意思!

紫菜、 | 园豆:188 (初学一级) | 2016-06-07 13:38

在方法体中,这些参数定义有默认值,如果不传参数,使用的就是默认值。

如果我只想传递最后一个参数,调用的时候前面的参数如果不写程序就会出错

支持(0) 反对(0) 德展自动化 | 园豆:224 (菜鸟二级) | 2016-06-07 17:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册