从零开始学 Web 之 ES6(三)ES6基础语法一 (2)

2、箭头函数没有自己的this,箭头函数的this不是调用的时候决定的,而是在定义的时候处在的对象就是它的this。(意思:箭头函数的外层的是否有函数,如果有,箭头函数的this就是外层函数的this,如果没有,则为 window)

<script type="text/javascript"> let foo = () => { console.log(this); }; foo(); // window 对象 let Obj1 = { bar() { let foo = () => { console.log(this); }; foo(); } }; Obj1.bar(); // Obj1 对象,箭头函数外层有函数bar,bar里面的this是Obj1. let Obj2 = { bar: () => { let foo = () => { console.log(this); }; foo(); } }; Obj2.bar(); // window 对象,箭头函数外层有函数bar,bar函数也是箭头函数,bar的外层没有函数,所以bar里面的this是window,所以foo里面的this也是window。 </script> 七、三点(可变参数)运算符

作用:

1、用来取代 arguments 但比 arguments 灵活,

arguments 是个伪数组,但是三点运算符是真数组,可以使用 forEach 等方法。

从零开始学 Web 之 ES6(三)ES6基础语法一

2、三点(可变参数)运算符只能是最后部分形参参数。 但是前面是可以有参数来占位的。

从零开始学 Web 之 ES6(三)ES6基础语法一

3、扩展运算符

let arr = [1, 6]; let arr1 = [2, 3, 4, 5]; arr = [1, ...arr1, 6]; console.log(arr); // [1,2,3,4,5,6] console.log(...arr); // 1 2 3 4 5 6

语法:...数组名 :表示遍历数组的所有元素。

八、形参默认值

作用:当不传入参数的时候默认使用形参里的默认值。

<script type="text/javascript"> //定义一个点的坐标 function Point(x = 12, y = 12) { // 形参的默认值 this.x = x; this.y = y; } let p = new Point(); console.log(p); let point = new Point(25, 36); console.log(point); </script>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpsgyz.html