【发布时间】:2025-12-29 10:35:12
【问题描述】:
全部,
这是代码:
var Person = function (name) {
this.name = name;
this.printName = function(){
console.log("My name is " + this.name);
}
};
var p = new Person("Steve");
var funcRef = p["printName"];
p.printName();//Works
p["printName"]();//Works
funcRef();//returns incorrect value
在这里找到一个工作示例:http://plnkr.co/edit/57LS6oXPfqccAWf6uqQV?p=preview
我的问题是最后两个有什么区别?我以同样的方式访问对象方法,唯一的区别是它被调用的方式。
为什么会返回不同的结果?
我第一次在 javascript 中遇到这个问题。我知道它在不同的范围内,但我不知道它是如何与我想理解的对象分离的。
谢谢
史蒂夫
【问题讨论】:
-
this在 JS 中是后期绑定的。
标签: javascript scope this