rest parameter 和 Destructuring assignment.

function fun1(...theArgs) {
console.log(theArgs.length);
}

// theArgs is an array

fun1(); // 0
fun1(5); // 1
fun1(5, 6, 7); // 3

function f(a, b, ...theArgs) {
// ...
}

function f(...[a, b, c]) {
return a + b + c;
}

f(1) // NaN (b and c are undefined)
f(1, 2, 3) // 6
f(1, 2, 3, 4) // 6 (the fourth parameter is not destructured)

见 ECMAScript 6 (2015)

Arrow function
* 简洁的语法,
* 没有自己的this, arguments, super 和 new.target.
特别适用于非属性函数,
不能用作构造函数.

function Person(){
this.age = 0;

setInterval(() => {
this.age++; // |this| properly refers to the person object
}, 1000);
}

var p = new Person();

  

JS面试Q&A(续2): Rest parameter,Arrow function 等的更多相关文章

  1. JS面试Q&A(续):Javascript数组排序, 默认是字符串Unicode排序, 不适合数字

    Q:下面代码段的执行后data里面的数据是什么?为什么? var data= [40,1,5,200] data.sort(); A: data的内容是[1, 200, 40, 5] 因为,Javas ...

  2. js 面试的坑

    JavaScript事件属性event.target <!DOCTYPE html> <html> <head> <meta charset="UT ...

  3. TypeError: Data location must be "memory" for return parameter in function, but none was given.

      在用truffle编译智能合约时,报错 TypeError: Data location must be "memory" for return parameter in fu ...

  4. js arrow function return object

    js arrow function return object bug filterData: { type: Object, default: () => {}, required: true ...

  5. js in depth: arrow function & prototype & this & constructor

    js in depth: arrow function & prototype & this & constructor https://developer.mozilla.o ...

  6. 前端js面试中的常见的算法问题

    虽说我们很多时候前端很少有机会接触到算法.大多都交互性的操作,然而从各大公司面试来看,算法依旧是考察的一方面.实际上学习数据结构与算法对于工程师去理解和分析问题都是有帮助的.如果将来当我们面对较为复杂 ...

  7. eval 加密 js,把js代码重新编续成新的代码,然后eval运行

    eval( function(p, a, c, k, e, r) { e = function(c) { return c.toString(a) //35 }; if (!''.replace(/^ ...

  8. Vue + Js 面试宝典

    https://github.com/rohan-paul/Awesome-JavaScript-Interviewshttps://github.com/nieyafei/front-end-int ...

  9. 46、VUE + JS 面试宝典

    https://github.com/rohan-paul/Awesome-JavaScript-Interviewshttps://github.com/nieyafei/front-end-int ...

随机推荐

  1. [ 随手记 5 ] C/C++ 继承

    个人理解: 继承:(意译)继续承接: A继承B,则A是派生类/子类,B为基类/父类: B有的成员变量/性质,A全部都有,而A有的B不一定有,在数学集合上可以说:B是A的子集: A继承B,可以说是A在B ...

  2. LR-SVM(有待重新整理)

    参考:http://www.zhihu.com/question/26768865 总结: 1)在线学习:SVM不支持在线学习,LR支持 2)不平衡数据:SVM不依赖于数据的分布,所以数据是否平衡影响 ...

  3. Spring @EventListener 异步中使用condition的问题

    @EventListener是spring在4.2+推出的更好的使用spring事件架构的方式,并且异步方式也很好设定 但是在spring4.2.7版本上使用eventlistener的conditi ...

  4. python学习6---排序问题

    1.对列表排序 一维列表: sorted():可用于任何可迭代对象,如数组.列表.字典等. sort():list.sort()返回None,这是因为sort在函数内部修改了list的值,当再次访问l ...

  5. ssh 端口更改或ssh 远程接不上的问题(尤其是国外服务器)

    问题: Connecting to 149.*.*.*:22...Connection established.To escape to local shell, press 'Ctrl+Alt+]' ...

  6. Floyd(求每2个点之间的最短路)

    稍微改变即可求传递闭包,即关心两点之间是否有同路: for(int i=0;i<n;i++) for(int j=0;j<n;j++){ if(i==j) d[i][i]=0; else ...

  7. C++ 实验3 类和对象

    Part 2 #ifndef GRAPH_H #define GRAPH_H class Graph { public: Graph(char ch, int n); void draw(); pri ...

  8. Java高级特性 第12节 XML技术

    一.XML简介 1. XML介绍 XML是可扩展标记语言(Extensible Markup Language ),XML是一种数据格式,类似 HTML,是使用标签进行内容描述的技术,与HTML不同的 ...

  9. springboot Cacheable(redis),解决key乱码问题

    import org.springframework.context.annotation.Bean; import org.springframework.data.redis.core.Redis ...

  10. Delphi 10.2.3

    链接: https://pan.baidu.com/s/1Fy2LbcpmujOiqtNZ3ZySOQ 提取码: ts5k