Имя функции javascript внутри самой функции

Возможно делать что-то похожим на это?

common.js:

function miFuncion() {
    console.log(this.functionName); // Imprime por consola miFuncion o miFuncion()
}

Очевидно this.functionName он не существует и не функционирует, только служит для примера.

28
задан 19.01.2017, 15:53
0 ответов

Ты можешь пытаться с этой формой.

Используя объект arguments ты можешь получать признак callee.

Объект arguments содержит ссылку на функцию, которая названа в настоящее время.

function miFuncion(){

  console.log(arguments.callee.name);

}

miFuncion();

Больше информации в Mozilla MDN

34
ответ дан 03.12.2019, 17:37
  • 1
    +1 Простой и прямой, ответь пунктуально на вопрос. –  27.06.2017, 04:10
  • 2
    Конечно W3C в Ваших советах для вебмастеров рекомендует предотвращать использование " click here" что в случае españ ol возможно понимать, как предотвращать использование " Aqui" как текст ссылок. Снабди ссылками: w3.org/QA/Tips/noClickHere –  27.06.2017, 17:37
  • 3
    @Rubé n Исправленная, большое спасибо, он не знал по этому поводу –  27.06.2017, 17:39

caller будь устаревшим, лучшее состояло бы в том, чтобы использовать callee()

function func1() { func2(); }

function func2() { console.log(func2.caller.name); }

func1();

с callee ()

function hola(){

  console.log(arguments.callee.name);
}

hola();

более родной формы

function obtenerNombreDeFuncion(f) {
  var res = f.toString();
  res = res.substr('function '.length);
  res = res.substr(0, res.indexOf('('));
  return res;
}
function hola(){
  }
console.log(obtenerNombreDeFuncion(hola));
14
ответ дан 03.12.2019, 17:37
  • 1
    ¿ Cuá l - шрифт, где он высказывается в caller как устаревший? В Function.caller включается замечание, но эта показывает, что это funció n не está ndar, но это отличное от, что был устаревшей. –  27.06.2017, 17:31

Теги

Похожие вопросы