validar validacion una pagina navegadores los funcion formularios formulario evitar ejemplos ejecutar con como cargar caché cache borrar archivos aplicación antes actualizar javascript ecmascript-5 ecma262 strictmode

una - validacion de formularios con javascript ejemplos



¿Hay alguna manera de verificar si se aplica el modo estricto? (6)

¿Hay alguna manera de comprobar si se aplica el modo estricto ''use strict'', y queremos ejecutar código diferente para el modo estricto y otro código para el modo no estricto. Buscando funciones como isStrictMode();//boolean


El hecho de que this dentro de una función llamada en el contexto global no apunte al objeto global puede usarse para detectar el modo estricto:

var isStrict = (function() { return !this; })();

Manifestación:

> echo ''"use strict"; var isStrict = (function() { return !this; })(); console.log(isStrict);'' | node true > echo ''var isStrict = (function() { return !this; })(); console.log(isStrict);'' | node false


Manera más elegante: si "esto" es un objeto, conviértalo en verdadero

"use strict" var strict = ( function () { return !!!this } ) () if ( strict ) { console.log ( "strict mode enabled, strict is " + strict ) } else { console.log ( "strict mode not defined, strict is " + strict ) }


Otra solución puede aprovechar el hecho de que en modo estricto, las variables declaradas en eval no están expuestas en el ámbito externo

function isStrict() { var x=true; eval("var x=false"); return x; }


Prefiero algo que no usa excepciones y funciona en cualquier contexto, no solo global:

var mode = (eval("var __temp = null"), (typeof __temp === "undefined")) ? "strict": "non-strict";

Utiliza el hecho de que en modo estricto eval no introduce una nueva variable en el contexto externo.


Sí, this es ''undefined'' dentro de un método global cuando estás en modo estricto.

function isStrictMode() { return (typeof this == ''undefined''); }


function isStrictMode() { try{var o={p:1,p:2};}catch(E){return true;} return false; }

Parece que ya tienes una respuesta. Pero ya escribí un código. Entonces aquí