Javascript 这个关键字在js中的逻辑是什么?
有人能说出js中的“this”关键字吗。。 我看了一些例子。有一点我不明白Javascript 这个关键字在js中的逻辑是什么?,javascript,web,function-prototypes,Javascript,Web,Function Prototypes,有人能说出js中的“this”关键字吗。。 我看了一些例子。有一点我不明白 A.B=function() { this.x(5); // this refers to prototype of A.B } A.B.prototype= { x:function(p) { this.a(p); // this refers to prototype of A.B again // but I e
A.B=function()
{
this.x(5); // this refers to prototype of A.B
}
A.B.prototype= {
x:function(p)
{ this.a(p); // this refers to prototype of A.B again
// but I expect that this refers to protoype of x ???
},
a:function(p){ return p;}
}
如果调用方法:
a.b.c.d();
然后这个
是a.b.c
方法内部(除了最终函数名之外的所有内容)
如果调用构造函数:
var x = new Something();
然后这是Something()中的一个新对象
在其他任何地方此
是全局对象(与浏览器中的窗口
相同)
这绝不是一个原型。这可以有一个原型
在您的示例中:
A.B = function() {
this.x(5);
}
如果该方法被称为A.B()
,那么它就是A
(不一定是A.B
)的原型,如果该方法被称为newa.B()
,那么它就是一个新对象。请阅读以下内容:在这两种情况下,它都引用B
实例,因此,您可以在其上调用a
/x
。此
是在运行时而不是在解析/定义时确定的。仅通过查看定义,您无法判断此
将引用什么。这完全取决于函数的调用方式。