之前看廖雪峰的git教程觉得很好,当时就注意到有js的教程,在w3school看了觉得函数部分讲的不太好,所以来看廖雪峰的

如果有很多变量需要连接,用+号就比较麻烦。ES6新增了一种模板字符串,表示方法和上面的多行字符串一样,但是它会自动替换字符串中的变量:

请注意,concat()方法并没有修改当前Array,而是返回了一个新的Array。

实际上,concat()方法可以接收任意个元素和Array,并且自动把Array拆开,然后全部添加到新的Array里:

arguments,它只在函数内部起作用,并且永远指向当前函数的调用者传入的所有参数。arguments类似Array但它不是一个Array。

rest 获取剩余的参数,有点像go里的可变参数,rest只能写在最后,如果正常参数都没传够,rest是一个空数组,而不是undefined

f…常量 const,默认不能被更改的,如果又重新赋值想修改,不会报错,但修改不会生效

在一个对象中绑定函数,称为这个对象的方法,通过hod()的形式调用(确保this指向正确)

有个this指向的坑,可能是你以为指向了obj,然而指向了全局window,需要var that=this;例子;或者用apply,例子还在左边的链接里,用途是会把想指向的obj打包成array当做参数传入,call也有类似的作用,把参数按顺序传入

如果不给pow传参数,说明pow是某obj的方法,比如arr.map所以直接用obj调用了,可能是这样吧.或者理解成map前面那货是后面这个函数的参数,看怎么理解记住的快了。

map()作为高阶函数,事实上它把运算规则抽象了,因此,我们不但可以计算简单的f(x)=x2,还可以计算任意复杂的函数,比如,把Array的所有数字转为字符串。

最后的输出结果都为16,可以看出,在执行f1,f2,f3时,i=4, 为什么不是想我们想的那样输出 1, 4, 9

函数还剩下两个部分,箭头函数和generator, 都是ES6新增内容,先跳过了,先看下对象和DOM操作方面的

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注