今天在用vue的时候突然有个疑问:
data () {
return {
value: 1
}
},
methods: {
a: function () {
console.log(this.value) //输出1
},
b () {
console.log(this.value) //输出1
},
c: () => {
console.log(this.value) //输出undefined
}
}
请问上面a() b() c()
三种写法有什么区别?用的时候该如何选择?
a和b其实是一样的,a的ES5的写法,b是ES6的写法,c使用箭头函数,会返回一个绑定当前执行上下文中的this,此处绑定的 this 是当前函数体内的this,严格模式下为undefined;