记 ()=>{}箭头函数的使用

let  foo3 = function() {
	console.log('hahawoshi foo3')
}
foo3();

let foo4 = () => {
	console.log('haha woshi foo4')
}
foo4();

//箭头函数this 是静态的,this始终指向函数声明时所在的作用域下的this 的值

//call 能改变this的指向

function getName() {
	console.log(this.name);
}

let getName2 = () => {
	console.log(this.name);
}

window.name = '哈哈';

let people = {
	name: '张三',
	age : 18
	
}
getName();//哈哈

getName2();//哈哈

getName.call(people);//张三  普通函数 this指向当前声明的函数
getName2.call(people);//哈哈 箭头函数 this 指向函数声明时所在作用域下的this的值

2.不能作为构造实例化对象
3.不能使用arguments变量

let f = () => {
console.log(arguments);
}
f(1);//报错
let f2 = function() {
console.log(arguments);
}
f2(1);//arguments...

let arrx = [1,66,54,78,66,3,1]

const res5 = arrx.filter(function(item) {
if(item % 2 === 0) {
return true;
} else {
return false;
}
})

res6 = arrx.filter(item => {
if(item%2===0) {
return true;
} else {
return false;
}
})

res6 = arrx.filter(item => item % 2 ===0)
console.log(res6,'res6');

 

箭头函数适合与this 无关的回调,定时器,数组的方法回调

箭头函数不适合与this 有关的回调,事件回调

  

上一篇:【JS】利用函数里才有的arguments对象和正则表达式来模拟C语言中的printf


下一篇:005.给方框打对勾