Можно перебрать контекст в надежде найти себя:
var context = this;
var calina = {
write: function() {
for(var prop in context) {
if(context[prop] !== this) continue;
console.log("Found self:", prop);
return prop;
}
}
}
calina.write(); // 'calina'
Если это в корне выполняется, в браузере, то контекст известен и можно не вводить переменную
context
а «искать себя» в объекте
window
:
такvar calina = {
write: function() {
for(var prop in window) {
if(window[prop] !== this) continue;
console.log("Found self:", prop);
return prop;
}
}
}
calina.write(); // 'calina'
В контексте вполне может присутствовать
несколько переменных, ссылающихся на этот один и тот же объект.
var calina2 = calina;
Предусмотрите этот случай и собирайте/возвращайте массив значений в таком случае.