是否有可能知道函数是否从引用调用?

时间:2014-04-16 15:08:21

标签: javascript

这两个电话都会发出警告"你好"但有可能知道它是如何被召唤的吗?

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调用的。

有可能吗?

1 个答案:

答案 0 :(得分:5)

首先评论,但实际上答案是XD

不,它不可能。原因是,通过撰写this.foo = this,您确保this.foothis完全相同。因为它们是同一个东西,试图区分它们就像这个超现实的笑话:

  问:鸭子之间的区别是什么?   答:它的一条腿都是一样的。