我们假设我有一个这样的课程。
function kevin(name){
this.name = name;
this.methodKevin = function(){
console.log(this.name);
};
var kevin = function(){
console.log(this.name);
}
function newKevin(){
console.log(this.name);
}
}
答案 0 :(得分:2)
这取决于它们的调用方式,可能会引起混淆,因为有两个名为kevin
的函数。
methodKevin
调用,否则new kevin
将绑定到window对象,在这种情况下,它将绑定到顶级kevin
函数对象。 this.name
只有在new
实例化的函数调用时才能正常工作。var kevin
的功能范围是父kevin
函数,因此永远不会在该函数之外调用它。在这个意义上它是私人的。 this.name
可以使用,但仅name
就足够了。