您的位置: 翼速应用 > 业内知识 > web前端 > 正文

JS函数的默认参数

123.png


  js函数参数的默认值都是undefined,ES5不支持直接在形参里写默认值,所以,要设置默认值就需要首先检测传入的参数是否为undefined,然后在根据功能需要对参数进行赋值。

MDN对函数设置默认值给出了样例:

function multiply(a, b) {
 b = typeof b !== 'undefined' ?  b : 1;

 return a*b;
}

multiply(5); // 5
multiply(5, 0); // 0

这种方法是严谨的,最好不要使用下面的写法:

function multiply(a, b) {
 b = b ?  b : 1;  // b = b || 1;

 return a*b;
}

multiply(5); // 5
multiply(5, 0); // 5

以上方法在处理值为0的参数时,会默认把值转换成false,其他一些值,如:undefined '' NaN null也会出现这种情况。

另外,也可以使用arguments对象设置默认值。

function multiply(a) {
 var b = typeof arguments[1] !== 'undefined' ? arguments[1] : 1;

 return a*b;
}

multiply(5); // 5
multiply(5, 0); // 0

目前的ES6已经支持默认参数,直接在形参上添加就可以了。

function multiply(a, b = 1) {
 return a*b;
}

multiply(5); // 5

ES6还支持结构赋值来设置默认参数:

jQuery.ajax = function (url, {
 async = true,
 beforeSend = function () {},
 cache = true,
 complete = function () {},
 crossDomain = false,
 global = true,
  // ... more config
}) {
  // ... do stuff
};


我来说两句

0 条评论

推荐阅读

  • 响应式布局CSS媒体查询设备像素比介绍

    构建响应式网站布局最常见的是流体网格,灵活调整大小的站点布局技术,确保用户在使用的幕上获得完整的体验。响应式设计如何展示富媒体图像,可以通过以下几种方法。

    admin
  • 提升网站的性能快速加载的实用技巧

    网站速度很重要,快速加载的网站会带来更好的用户体验、更高的转化率、更多的参与度,而且在搜索引擎排名中也扮演重要角色,做SEO,网站硬件是起跑线,如果输在了起跑线,又怎么跟同行竞争。有许多方法可提升网站的性能,有一些技巧可以避免踩坑。

    admin
  • 织梦CMS TAG页找不到标签和实现彩色标签解决方法

    织梦cms是我们常见的网站程序系统的一款,在TAG标签中常常遇到的问题也很多。当我们点击 tags.php 页的某个标签的时候,有时会提示:“系统无此标签,可 能已经移除!” 但是我们检查程序后台,以及前台显示页面。这个标签确实存在,如果解决这个问题那?

    admin
  • HTML关于fieldset标签主要的作用

    在前端开发html页面中常用的标签很多,今天为大家带来的是关于HTML中fieldset标签主要的作用说明,根据技术分析HTML

    admin

精选专题