这两个电话都会发出警告"你好"但有可能知道它是如何被召唤的吗?
function Test() {
this.foo = this;
}
Test.prototype.bar = function (value) {
// Check if it was called through foo
alert(value);
}
var test = new Test();
test.foo.bar('hello');
test.bar('hello');
基本上我想知道它是从test还是test.foo调用的。
有可能吗?
答案 0 :(得分:5)
首先评论,但实际上答案是XD
不,它不可能。原因是,通过撰写this.foo = this
,您确保this.foo
和this
完全相同。因为它们是同一个东西,试图区分它们就像这个超现实的笑话:
问:鸭子之间的区别是什么? 答:它的一条腿都是一样的。