ES6基础(2)函数扩展

本文详细介绍了ES6中函数的一些新特性,包括参数默认值、rest参数、箭头函数及双冒号运算符的使用方法与注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 函数扩展 参考:http://es6.ruanyifeng.com/#docs/function

(1)函数参数默认值。例如:function log(x, y = “world”){}, y就是有默认值。

  1. 参数不要重名。重名会有其他隐患存在,避免使用。
  2. 参数默认值不是传值的,而是每次都重新计算默认值表达式的值。也就是说,参数默认值是惰性求值的最好不要使用表达式。
  3.  函数传对象参数。例如:function fetch(url, {body = ‘’, method = GET, headers = {}} = {}),定义对象如果赋予 {},则该参数可以省略,否则必填。
  4. 含有默认值的参数最好放在函数尾部,这样该参数可以省略,否则必填(可undefined使用默认值)。
  5. 函数lengthlength属性等于参数个数减去默认值参数个数。

(2)rest参数

        rest参数(形式为 ...变量名),用于获取函数多余参数,这样可以避免使用arguments对象,例如:

function digitalOperation(accord, sum = 0,...nums){
   for(let i of nums){
     if(accord === '+'){
       sum = sum + i;
     }
     if(accord === '-'){
       sum = sum - i;
     }
     if(accord === '*'){
       sum = sum *i;
     }
     if(accord === '/'){
       sum = sum /i;
     }
  }
  return sum;
}

 

(3)箭头函数(=>

例如:let sum = (num1, num2) => num1 + num2;

      let sum = (num1, num2) => {return  num1 + num2};

      两者效果一样,箭头函数直接返回对象多余一行代码则必须使用{

包裹起来。

注意点:1.函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。

             2. 不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。

             3. 不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。

             4. 不可以使用yield命令,因此箭头函数不能用作 Generator 函数。

 4)双冒号运算符 :: 。该运算符会自动将左边的对象、函数,绑定到右边的函数对象上。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值