newaitix, если есть какие-то средства интроспекции - можно посмотреть стек вызовов, узнать, кто вызывает. Но как понять, откуда вызывающий код взял то, что вызывает?
function foo() {
console.log("кто я???")
}
var a = {f: foo}, b = {f: foo};
if (Math.random() < 0.5) a.f(); else b.f();
Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them