Cette question fait peu de sens du point de vue de la langue en fonction peut exister sur de nombreux objets.
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
Vous pouvez appeler la fonction x
avec un contexte que vous voulez:
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)
Vous pouvez manipuler ce comportement à travailler pour vous:
var b = function (method) {
// parent = this;
};
b.call(A, A.x);
Il n'y a cependant aucune façon de savoir à l'intérieur d'une fonction à quel objet elle est affectée car ce n'est pas nécessairement un seul endroit.