화살표 기능과 일반 기능의 차이점
var name = 'BigBear'
var me = {
name: 'xiuyan',
// 声明位置
hello: function() {
console.log(this.name)
}
}
// 调用位置
me.hello() // BigBear
VM291:6 xiuyan
undefined
var name = 'BigBear'
var me = {
name: 'xiuyan',
// 声明位置
hello: () => {
console.log(this.name)
}
}
// 调用位置
me.hello() // BigBear
VM469:6 BigBear
undefined
var a=3;var object = {
a:2,
run: function() {
alert(this.a);//2
alert(a);//3
}
};
object.run();
a:2表示object这个对象里"a"属性的值等于2。js里以函数为作用域划分,object里面的a并不是一个单独的变量,要访问它只能通过object.a。下面是类似的一个例子:
var a=3;function fun(){ var a=2; function run(){
alert(a);//2
}
run();
}
fun();