当前位置: 首页 > Web前端 > HTML5

JavaScript实战开发经验!函数多参数传递技巧

时间:2023-04-04 22:40:46 HTML5

HTML5School-Codesmith:如果你掌握了JavaScript代码,你一定有编写和封装函数的经验。为了提高函数的可控性,参数是必不可少的,需要大量的可选参数。列出来,函数调用好像变麻烦了~~~Tips:强制参数是指必须作为实际参数传入的参数;可选参数在函数中有默认值,如果有传入实参,则取实际值参数的值,如果没有传入实参,则使用默认值。一个函数的参数多的问题当一个函数既有强制参数也有可选参数时,在定义函数时,我们可以采用如下方法:无论参数是可选参数还是必需参数,列出参数(通常按照先选后选的顺序)但是这样的上榜方式会带来一些问题!例如:有一个功能函数h5course,name和domain是必填参数,minAPP和book是可选参数,我们定义函数如下:此时调用该函数需要传入name,domain,book三个参数,那么,问题来了!由于在函数定义中,book参数位于minApp参数之后,在调用函数时,如果要为book参数传入一个值,则必须这样写:h5course('nameparametervalue','域参数值','','账本参数值');不难发现,当前第三个参数的处理变得麻烦了。于是乎,很多人可能会通过在函数中加入if判断来控制参数。这时候还存在两个问题:第一,函数的调用者必须了解函数内部判断参数的方法,才能正确写出“不必要的可选参数”;第二,调用一个有多个可选参数的函数时,调用代码会变得很麻烦(当然可以在函数上加注解,降低使用难度)更好的函数参数怎么写!面对以上问题,下面的方法值得拥有!用对象替换原来的单一参数传递方法。在函数内部用arguments代替原来的形参。使用for-in循环修改可选参数的默认值。下面我们就用这个方法来调整h5course的功能。这段代码中,将Entered三个参数传入for-in循环,将name和domain的值添加到defaultValue中,修改minApp的内容。调用函数时,对参数的处理会变得更加方便和简单,但也要注意清楚了解哪些参数是必须的,建议在函数前面加上合理的注释!欢迎交流~HTML5学堂来个“智力”测验怎么样?生活不易,代码不易,但别忘了微笑!