Показать сообщение отдельно
  #17 (permalink)  
Старый 10.10.2014, 19:16
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

По теме, есть такой изврат:
var obj = {
  someMethod: function() {
    for (var method_name in this) {
      if (this[method_name] == arguments.callee)
        break;
    }
    
    alert(method_name);
  }
}
obj.someMethod();

Но это, во-первых, не сработает в strict mode, во-вторых, сработает некорректно, если на эту функцию ссылается более одного свойства объекта, в-третьих, сработает некорректно, если функция вызывается в контексте объекта другого. Вообще, такой задачи не должно вставать, с архитектурой явно что-то не так... Но да уже говорили.

Последний раз редактировалось Erolast, 10.10.2014 в 20:48.
Ответить с цитированием