1.箭头函数和普通函数的区别?
箭头函数不能用于构造函数
箭头函数没有 prototype 属性
箭头函数不绑定 arguments
箭头函数不绑定this
箭头函数无法使用 call()或 apply()来改变其运行的作用域
2.箭头函数笔试题
function fun () {
return () => {
return () => {
return () => {
console.log(this.name)
}
}
}
}
var f = fun.call({name: 'foo'})
var t1 = f.call({name: 'bar'})()()
var t2 = f().call({name: 'baz'})()
var t3 = f()().call({name: 'qux'})
3.以及箭头函数的用法
let fn = v=>v+v;
function fn(v){
return v+v;
}
console.log(fn(9));
var Box=age=>{
this.myAge=age;
}
var obj=new Box(20);
console.log(obj.myAge);
var Foo = () => {};
console.log(Foo.prototype);
var arguments = 42;
var fn = () => arguments;
console.log(fn());
window.color = "red";
let color = "green";
let obj = {
color: "blue",
getColor: () => {
return this.color;
}
};
let sayColor = () => {
return this.color;
};
obj.getColor();
sayColor();
window.color = "red";
let color = "green";
let obj = {
color: "blue"
};
let sayColor = () => {
return this.color;
};
sayColor.apply(obj);