Этот вопрос не имеет смысла с точки зрения языка как функции могут существовать на многих объектах.
var a = { name : 'a' },
b = { name : 'b' },
c = { name : 'c' };
a.x = function() { alert(this.name); };
c.x = b.x = a.x; // a, b, and c all reference the same function
Вы можете вызвать x
функцию с любого контекста вы хотите:
a.x(); // alerts "a" because "this" is object a
b.x(); // alerts "b" because "this" is object b
a.x.call(b); // alerts "b" because "this" is object b (via parameter)
Вы можете управлять этим поведением, чтобы работать для вас:
var b = function (method) {
// parent = this;
};
b.call(A, A.x);
Существует, однако, не каким-либо образом зная изнутри функцию, какой объект ей назначен, поскольку это не обязательно одно место.