最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

js参数对象实现可选参数和参数默认值

来源:动视网 责编:小采 时间:2020-11-27 20:31:28
文档

js参数对象实现可选参数和参数默认值

js参数对象实现可选参数和参数默认值:js参数对象实现可选参数和参数默认值省略参数的前提是函数能识别你到底想传入的是哪一个参数,约定1.可省略的参数后置2.省略参数后不能与其它函数产生二义性 (js不存在这个问题)程序要求你按参数定义的顺序传递参数进去。如果后面有没传的,就省略了。如果要
推荐度:
导读js参数对象实现可选参数和参数默认值:js参数对象实现可选参数和参数默认值省略参数的前提是函数能识别你到底想传入的是哪一个参数,约定1.可省略的参数后置2.省略参数后不能与其它函数产生二义性 (js不存在这个问题)程序要求你按参数定义的顺序传递参数进去。如果后面有没传的,就省略了。如果要


js参数对象实现可选参数和参数默认值

省略参数的前提是函数能识别你到底想传入的是哪一个参数,约定
1.可省略的参数后置
2.省略参数后不能与其它函数产生二义性 (js不存在这个问题)

程序要求你按参数定义的顺序传递参数进去。如果后面有没传的,就省略了。如果要省略中间的……对不起,自己传入 null 或 undefined。

对于 javascript 来说,可以对参数类型进行简单的判断来进行识别,以达到省略中间参数的效果,比如。

 var set = function(name, date, age) {
 if (typeof date === "number") {
 age = date;
 date = undefined;
 }
 // ....
}

这里是简单通过类型来识别的。更复杂一些的情况可以使用正则表达式来识别 domain, url, email 等,不过说起来就比较麻烦了,而且代码逻辑复杂,也不易写。

参数较多,部分可以省略的情况,建议使用参数对象。

ES5实现可选参数对象

 var CookieUtil = {
 set: function(args) {
 var name = args.name;
 var value = args.value;
 var expires = args.expires;
 var path = args.path;
 var domain = args.domain;
 var secure = args.secure;

 // ...
 }
}

 CookieUtil.set({
 name: "name",
 value: "Nicholas",
 path: "/books/projs/",
 domain: "www.wrox.com",
 expires: new Date("January 1, 2010")
 });

ES6实现可选参数对象-语法糖解构赋值

 function doSome({a,b=2,c}){
 console.log(a,b,c)
 }
 doSome({a:5,c:22})
 // 5 2 22

文档

js参数对象实现可选参数和参数默认值

js参数对象实现可选参数和参数默认值:js参数对象实现可选参数和参数默认值省略参数的前提是函数能识别你到底想传入的是哪一个参数,约定1.可省略的参数后置2.省略参数后不能与其它函数产生二义性 (js不存在这个问题)程序要求你按参数定义的顺序传递参数进去。如果后面有没传的,就省略了。如果要
推荐度:
标签: js 对象 参数
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top