Можно ли получить текстовое содержимое javascript IIFE изнутри себя? - PullRequest
0 голосов
/ 25 января 2020

Скажем, у меня есть IIFE:

let imagodei = {};

;(async function(){
   let C = "12:19";

   imagodei.myIife = aFunctionToGetIifeText()

})(imagodei);

Я бы хотел определить aFunctionToGetIifeText() так, чтобы imagodei.myIife - строка приведенного выше кода (не включая let imagodei = {};). Кто-нибудь знает, возможно ли это?

Я видел эти вопросы, но они относятся к случаю с именованной функцией:

javascript получить тело функции

Как получить основной текст функции в JavaScript?

Ответы [ 2 ]

2 голосов
/ 25 января 2020

Вы можете использовать arguments.callee, он доступен только для «обычных» функций (не для функций со стрелками)

(function() {
  var x = 1;
  console.log(arguments.callee+"");
})()
1 голос
/ 25 января 2020

Использование устаревшего метода .caller () -

let imagodei = {};

function aFunctionToGetIifeText(){ 
  console.log(aFunctionToGetIifeText.caller.toString());
}

(async function(){
   let C = "12:19";

   imagodei.myIife = aFunctionToGetIifeText()

})(imagodei);

Более подробную информацию можно получить по этому вопросу Stackoverflow

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...