Можно ли увидеть вызывающего/вызывающего функцию, когда use strict
включен?
'use strict';
function jamie (){
console.info(arguments.callee.caller.name);
//this will output the below error
//uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them
};
function jiminyCricket (){
jamie();
}
jiminyCricket ();
jamie.name // jamie
. Но имена функций часто не имеют значения, кроме как для отладки, они не имеют значения в вашем коде, и полагаться на эту функциональность для чего-то другого, кроме рекурсии, обычно проблема XY. - person elclanrs   schedule 11.04.2015console.info
, поэтому по сутиc = console.info
. Поэтому, когда я что-то утешаю с помощью указанной функции, в консоли просто отображается, что каждый раз это происходит из одного и того же места. я хотел вывести, какая функция вызвала это. Просто из-за моей лени и крутости в одном лице :D - person Jamie Hutber   schedule 11.04.2015arguments.callee
иarguments.caller
делала определенные оптимизации JS-движка трудными/невозможными. - person Phylogenesis   schedule 11.04.2015