Contenido

__FILE__ en Javascript (Solo Mozilla Firefox)

8 jun

+ 0

PHP poseé dos variables constantes un tanto especiales, ya que para denominarse constantes deberían no modificarse a lo largo de toda la ejecución del script.

__FILE__ y __LINE__, son las dos únicas variables constantes de PHP que modifican su valor en tiempo de ejecución. Y ellas nos informan de un valor más que importante sobre nuestras líneas de código:

  • __FILE__: Nos indica el fichero actual de ejecución.
  • __LINE__: Nos muestra la línea actual de ejecución.

Via el blog de John Resig, descubro una forma de portar una de ellas, __FILE__ al javascript (solo para Mozilla). Sacado del proyecto Johnson, un hibrido entre Ruby y Spidermonkey, John le dá su toque y lo convierte en un código que podremos usar en nuestros scripts.

(function(){
  this.__defineGetter__("__FILE__", function() {
    return (new Error).stack.split("\n")[2].split("@")[1].split(":").slice(0,-1).join(":");
  });
})();

De esta forma cuando llamemos a la variable __FILE__ desde nuestros scripts nos devolverá el nombre del fichero JS desde el que estamos ejecutandolo. Lamentablemente este código solo funcionará sobre Spidermonkey ya que requiere que el objeto Error permita la propiedad stack().

Así que por el momento, solo queda como una curiosidad.

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.