¿Cómo llamo a la función "a" desde "av" sin una referencia directa "a()"?
function a(){ alert("1"); this.v=function(){alert("hi")}; }Una forma en que puedo pensar en hacer esto sin repetir a :
function a(){ let indirect = arguments.callee; alert("1"); indirect.v=function(){ indirect(); }; } a(); av(); Pero esto no funciona en modo estricto y debe llamar a antes de llamar a av .
También podrías hacer:
function a(){ alert('1'); this.v = () => this(); } av = a; av(); De esta forma, no llamas a() y también funciona en modo estricto.
Establezca su propiedad v fuera de la función:
function a() { alert("1"); } av = function() { a() alert("hi") }; av()