Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
102 / 93 / 36
Регистрация: 01.04.2013
Сообщений: 649
1

Получить имя метода внутри самого метода

29.07.2016, 22:22. Показов 1904. Ответов 6
Метки нет (Все метки)

Javascript
1
2
3
4
5
function myFunc() {
    console.log(arguments.callee.name);
}
 
myFunc();
Выводит всё как надо - myFunc.

Javascript
1
2
3
4
5
6
7
8
9
10
function MyClass(name) {
    this.name = name;
}
 
MyClass.prototype.some_method = function() {
    console.log(arguments.callee.name);
};
 
var p = new MyClass('some');
p.some_method();
Тут ничего не выводит.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.07.2016, 22:22
Ответы с готовыми решениями:

Обработчики событий внутри метода
(function($){ jQuery.fn.newMetod = function(){ //какие то действия с объектом через this ...

Вызов метода агрегата из метода агрегируемого класса
Есть класс-агрегат Game function Game() { this.game_map = null; // другие члены } ...

Объявление метода внутри объекта JAVASCRIPt
Как объявить метод внутри объекта JAVASCRIPT? Вот так написал, это правильно? <script> ...

Как получить внутри метода имя фактического параметра?
Метод в программе вызывается неоднократно с разными фактическими параметрами. Как внутри метода...

6
868 / 718 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
29.07.2016, 22:28 2
Firework,
У анонимной функции нет имени
1
102 / 93 / 36
Регистрация: 01.04.2013
Сообщений: 649
29.07.2016, 23:06  [ТС] 3
Цитата Сообщение от XRoy Посмотреть сообщение
У анонимной функции нет имени
Это я понял. Но как мне вывести название метода "some_method"?
0
868 / 718 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
29.07.2016, 23:20 4
Firework,
Это не имя метода, это поле.. Как вариант пройтись по всем полям объекта и сравнить значение со ссылкой на функцию
1
Эксперт по математике/физике
4146 / 2050 / 422
Регистрация: 19.07.2009
Сообщений: 3,104
Записей в блоге: 23
30.07.2016, 00:26 5
Firework, тест-вопрос:
какое, по Вашему мнению, должно быть имя функций f и g в таком определении:
Javascript
1
2
var f, g;
f = g = function(x) { return 2*x; }
0
102 / 93 / 36
Регистрация: 01.04.2013
Сообщений: 649
30.07.2016, 09:20  [ТС] 6
Цитата Сообщение от XRoy Посмотреть сообщение
Это не имя метода, это поле.. Как вариант пройтись по всем полям объекта и сравнить значение со ссылкой на функцию
Можно пример?

Добавлено через 23 секунды
Цитата Сообщение от Mysterious Light Посмотреть сообщение
по Вашему мнению, должно быть имя функций f и g в таком определении:
Никакого. Функция безымянная
0
Эксперт по математике/физике
4146 / 2050 / 422
Регистрация: 19.07.2009
Сообщений: 3,104
Записей в блоге: 23
30.07.2016, 12:05 7
А от some_method Вы что хотите? Она ровно такая же.

Добавлено через 2 минуты
предложение XRoy выглядит примерно так:
Javascript
1
2
3
4
5
6
7
obj.some_method = function fn () {
  var name;
  for(var key in this)
    if (this[key] === fn)
      name = key;
  return name;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.07.2016, 12:05

Помощь в написании контрольных, курсовых и дипломных работ здесь.

[JVM] Почему в Java можно возвращать из метода массив, созданный внутри этого метода и размещенный в стеке?
Пишу на C, и там нельзя возвратить указатель на массив созданный внутри функции: int*...

При сравнении экземпляра делегата с именем метода, имя метода преобразуется автоматически в делегат или нет?
Добрый день. Есть несколько вопросов про событий и делегаты: 1) При сравнении экземпляра делегата...

Получить имя метода
Всем привет, когда начал юзать org.slf4j.Logger то для упрощения поиска ошибок пишу сразу названия...

Как получить имя метода?
Как возможно получить имя метода. Для примера Class A1 { void Method1() { } } Как можно...

Вызов метода объекта внутри определения метода другого объекта(вложенные классы)
Как мне вызвать метод объекта slider класса Slider внутри определения метода объекта класса...

Невозможно передать ArrayList в аргументы метода без модификатора static у этого метода или метода main
Крч, хочу передать экземпляр класса ArrayList в метод, но ide говорит, что нельзя это сделать, пока...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.