箭头函数
语法:
let fn = name => name
翻译:
let fn = function(name){
return name;
}
注意:
1、如果参数是多个,就需要用括号括起来(name1,name2,nam3)
2、如果返回值是对象,也需要把对象用括号括起来({name:'Mr.Wang',age:30})
3、如果执行代码复杂,就需要用花括号把代码块括起来{ 代码块 }
自我执行函数:
((name)=>{
console.log(name);
})('Mr.Wang')
this
箭头函数中的this是最外层定义的函数绑定,不受内部影响
所以在箭头函数内部调用this,实际上是调用最外层的this
let obj = {
title:'对象',
fn1:function(){
console.log(this.title)
},
fn2:function(){
setTimeout(function(){
console.log(this.title)
},500)
},
fn3:function(){
setTimeout(()=>{
console.log(this.title)
},500)
}
}
obj.fn1() //对象
obj.fn2() //undefined
obj.fn3() //对象
网友评论