zoukankan      html  css  js  c++  java
  • 《理解 ES6》阅读整理:函数(Functions)(三)Function Constructor & Spread Operator

    增强的Function构造函数(Increased Capabilities of the Function Constructor)

    在Javascript中Function构造函数可以让你创建一个新函数,不过这个功能并不经常使用。Function构造函数接收函数参数和函数体作为参数,参数都必须是字符串。下面是一个例子:

    var add = new Function("first", "second", "return first+second");
    console.log(add(1, 1)); //  2

    在ES6中,Function构造函数的参数也可以使用默认参数值(Default Parameter Values)和剩余参数(Rest Parameters):

    var add = new Function("first", "second = 2", "return first+second");
    console.log(add(1)); //  3
    
    var pickFirst = new Function("...args", "return args[0]");
    console.log(pickFirst(1, 2));  //  1

    展开操作符(The Spread Operator)

    与剩余参数紧密相关的就是展开操作符了。剩余参数允许你将多个独立的参数放到一个数组中,而展开操作符允许你将一个数组分割成多个独立的参数。考虑下面的例子:

    var values = [1, 2, 3, 4];
    console.log(Math.max.apply(Math, values));  //  4

    Math.max只能接收两个数字作为参数。如果想同时对多个数字做比较,那么只能使用apply函数完成功能。在ES6中可以用展开运算符完成这个功能:

    let values = [1, 2, 3, 4];
    console.log(Math.max(...values));  //  4
  • 相关阅读:
    2018.1.10 区块链论文翻译
    2018.1.9 区块链论文翻译
    2019.1.7 区块链论文翻译
    #在蓝懿iOS学习的日子#
    #在蓝懿学习iOSd的日子#
    #在蓝懿iOS学习的日子#2014年10月15日
    #蓝懿iOSi学习的日子#2015年10月14日
    #蓝懿ios学习的日子#2015年 10月13日
    #蓝懿ios学习的日子#2015年10月12鈤
    三种读写XML的方法
  • 原文地址:https://www.cnblogs.com/xfshen/p/5983533.html
Copyright © 2011-2022 走看看