它应该引用父对象,因为它不依赖于调用// context并具有词法作用域(我正在使用greeting();
,正在使用窗口)。
下面是示例
var Person = {
name: "Tim",
age: 28,
greeting:()=>{
console.log("Hello " + this.name + ". Wow, you are " + this.age + " years old.");
}
}
Person.greeting()
var greeting = Person.greeting;
greeting();
<!DOCTYPE html>
<html>
<>
<h1>Hello World!</h1>
答案 0 :(得分:0)
Arrow functions没有自己的this
。
箭头函数表达式在语法上是常规函数表达式的紧凑选择,尽管没有自己与
this
,arguments
,super
或new.target
关键字的绑定
您可以使用常规函数语法bind()
来对象>:
var Person = {
name: "Tim",
age: 28,
greeting:function(){
console.log("Hello " + this.name + ". Wow, you are " + this.age + " years old.");
}
}
Person.greeting()
var greeting = Person.greeting.bind(Person);
greeting();