js 里面 (a+b) => {a+b}什么意思?

JavaScript013

js 里面 (a+b) => {a+b}什么意思?,第1张

这是一个箭头函数。

箭头函数是es6新增写法,相比之前es5的写法更简洁。

相当于"function(a+b){a+b}",当函数体内只有一个语句的时候,可以省略大括号。

JS箭头函数和function的区别: 箭头函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。 箭头函数不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。 箭头函数不可以使用arguments对象,该对象在函数体内js 箭头函数和function的区别

运行的结果不难想象应该为 undefined is ready for attaching undefine 。这是因为 button onclick 引用了 Warrior 的 attach 的方法。但是这里 button 中并没有 element 这个属性。所以 undefined。这也就是我们常说的 this 指向的问题。

我们通过 bind 的方法将我们方法绑定到指定的对象,这样我们的方法就有了 context 也就是上下文。这样就解决了问题,这样写法我们在 jquery 的事件绑定是最常见不过的了。

当然我们也可以也使用 es6 的箭头函数作为 ready 属性,这个箭头好处就是我无需再写 bind 来讲方法绑定到指定对象,箭头方法中 this 对象。

不通过这样做还是有性能问题的,

这种写法想必我们在写 react 时候会经常遇到这种写法。这样同样可以解决 this 的指向的问题。

每一次都会创建一个函数

我们对 createWarrior 进行改造。