简介:不少概念不清或忘记,从新构建本身的知识体系。天天问本身1~多个问题。我是菜鸟 成为大神之路!
app
=>
var materials = [
'Hydrogen',
'Helium',
'Lithium',
'Beryllium'
];
materials.map(function(material) {
return material.length;
}); // [8, 6, 7, 9]
materials.map((material) => {
return material.length;
}); // [8, 6, 7, 9]
materials.map(material => material.length); // [8, 6, 7, 9]
复制代码
①
this
指向定义它的函数域,而不是运行它的函数域
② 不绑定arguments
使用...
Rest函数
代替
③ 箭头函数不能用做构造器,和new
一块儿用会抛出错误。函数
var Foo = () => {};
var foo = new Foo(); // TypeError: Foo is not a constructor
复制代码
④ 箭头函数没有
prototype
属性。学习
var Foo = () => {};
console.log(Foo.prototype); // undefined
复制代码
⑤经过
call
或apply
调用 因为 箭头函数没有本身的this
指针,经过call()
或apply()
方法调用一个函数时,只能传递参数(不能绑定this
),他们的第一个参数会被忽略。ui
var adder = {
base : 1,
add : function(a) {
var f = v => v + this.base;
return f(a);
},
addThruCall: function(a) {
var f = v => v + this.base;
var b = {
base : 2
};
return f.call(b, a);
}
};
console.log(adder.add(1)); // 输出 2
console.log(adder.addThruCall(1)); // 仍然输出 2(而不是3 ——译者注)
复制代码
学习资料:
① developer.mozilla.org/zh-CN/docs/…this