По теме, есть такой изврат:
var obj = {
  someMethod: function() {
    for (var method_name in this) {
      if (this[method_name] == arguments.callee)
        break;
    }
    
    alert(method_name);
  }
}
obj.someMethod();
Но это, во-первых, не сработает в strict mode, во-вторых, сработает некорректно, если на эту функцию ссылается более одного свойства объекта, в-третьих, сработает некорректно, если функция вызывается в контексте объекта другого. Вообще, такой задачи не должно вставать, с архитектурой явно что-то не так... Но да уже говорили.