¿Cómo puedo salir del script JavaScript como PHP exit
o die
? Sé que no es la mejor práctica de programación, pero necesito hacerlo.
javascript
exit
die
Nir
fuente
fuente
return;
vez sea suficiente según sus requisitos, actúa como die () sin parámetros.Respuestas:
JavaScript equivalente para PHP
die
. Por cierto, solo llamaexit()
(gracias splattne):fuente
Las funciones de "salida" suelen salir del programa o script junto con un mensaje de error como parámetro. Por ejemplo morir (...) en php
El equivalente en JS es señalar un error con la palabra clave throw así:
Puedes probar esto fácilmente:
fuente
Incluso en programas simples sin identificadores, eventos y demás, es mejor poner el código en una función "principal", incluso cuando es el único procedimiento:
De esta manera, cuando desee detener el programa, puede usar "return".
fuente
Si no te importa que sea un error, solo escribe:
Eso detendrá su código principal (global) de proceder. Útil para algunos aspectos de la depuración / prueba.
fuente
window.fail
no está definido en los navegadores actuales.mikeyMouse;
, el error terminará. Es rápido y sucio.Hay muchas formas de salir de un script JS o Node. Aquí están los más relevantes:
Si está en REPL (es decir, después de ejecutar
node
en la línea de comando), puede escribir.exit
para salir.fuente
En mi caso, utilicé la
window.stop
API, que es como hacer clic en el botón X en su navegador:fuente
Coloque la
debugger;
palabra clave en su código JavaScript donde desea detener la ejecución. Luego abra las herramientas de desarrollador de su navegador favorito y vuelva a cargar la página. Ahora debería detenerse automáticamente. Abra la sección Orígenes de sus herramientas: ladebugger;
palabra clave se resalta y tiene la opción de reanudar la ejecución del script.Espero que ayude.
Mas información en:
https://developer.mozilla.org/de/docs/Tools/Debugger
http://www.w3schools.com/js/js_debugging.asp
fuente
Creo que esta pregunta ha sido respondida, haga clic aquí para obtener más información. A continuación se muestra la respuesta corta que se publica.
También puede usar su navegador para agregar puntos de interrupción, cada navegador es similar, consulte la información a continuación para su navegador.
Para obtener información sobre los puntos de ruptura de Chrome, haga clic aquí
Para obtener información sobre los puntos de ruptura de Firefox, haga clic aquí
Para obtener información sobre los puntos de ruptura de Explorer, haga clic
Para obtener información sobre los puntos de ruptura de Safari, haga clic aquí
fuente
Si está buscando una manera de terminar por la fuerza la ejecución de todos los Javascript en una página, no estoy seguro de que haya una forma oficial de hacerlo: parece ser el tipo de cosa que podría ser un riesgo de seguridad (aunque para sea honesto, no puedo pensar en cómo sería fuera de mi cabeza). Normalmente en Javascript cuando desea que su código deje de ejecutarse, simplemente
return
desde cualquier función que se esté ejecutando. (Lareturn
declaración es opcional si es lo último en la función y la función no debe devolver un valor). Si hay alguna razón por la que regresar no es lo suficientemente bueno para usted, probablemente debería editar más detalles en la pregunta de por qué piensa lo necesita y quizás alguien pueda ofrecerle una solución alternativa.Tenga en cuenta que, en la práctica, la mayoría de los intérpretes Javascript de los navegadores simplemente dejarán de ejecutar el script actual si encuentran un error. Entonces puede hacer algo como acceder a un atributo de una variable no establecida:
y probablemente abortará el guión. Pero no debe contar con eso porque no es del todo estándar, y realmente parece una práctica terrible.
EDITAR : OK, tal vez esta no fue una buena respuesta a la luz de Ólafur. Aunque la
die()
función a la que se vinculó básicamente implementa mi segundo párrafo, es decir, solo arroja un error.fuente
lanzar "";
Es un mal uso del concepto pero probablemente sea la única opción. Y sí, deberá restablecer todos los oyentes de eventos, tal como se menciona en la respuesta aceptada. También necesitaría un único punto de entrada si tengo razón.
Además: desea una página que le informe por correo electrónico tan pronto como se lance; puede usar, por ejemplo, Raven / Sentry para esto. Pero eso significa que te produces falsos positivos. En tal caso, también debe actualizar el controlador predeterminado para filtrar dichos eventos o establecer dichos eventos en ignorar en el panel de Sentry.
window.stop ();
Esto no funciona durante la carga de la página. También detiene la decodificación de la página. Por lo tanto, realmente no puede usarlo para ofrecer al usuario una variante de su página sin JavaScript.
depurador
Detiene la ejecución solo con el depurador abierto. Funciona muy bien, pero no se puede entregar.
fuente
En JavaScript hay varias formas, a continuación se muestran algunas de ellas.
Método 1:
Método 2:
Método 3:
Método 4:
Método 5:
escriba su función personalizada use el método anterior y llame donde lo necesite
Nota: Si solo quieres pausar la ejecución del código, puedes usar
fuente
Esta pequeña función se acerca bastante a imitar la salida de PHP (). Al igual que con las otras soluciones, no agregue nada más.
fuente
Simplemente cree una condición BOOL, no necesita código complicado aquí ...
Si incluso una vez que lo convierta en verdadero / o varias veces, ambos le darán una línea de solución / no múltiples, básicamente así de simple.
fuente
Si utiliza alguna función indefinida en el script, el script se detendrá debido a "Error de referencia no detectado". Lo intenté siguiendo el código y las dos primeras líneas ejecutadas.
Creo que esta es la mejor manera de detener el guión. Si hay otra forma, por favor comenteme. También quiero conocer otra manera mejor y simple. Por cierto, no obtuve la función incorporada salir o morir en Javascript como PHP para terminar el script. Si alguien lo sabe, hágamelo saber.
fuente
Si solo desea evitar que se ejecute más código sin "arrojar" ningún error, puede anular temporalmente
window.onerror
como se muestra encross-exit
:fuente
Estoy usando iobroker y logré detener fácilmente el script con
fuente
No es aplicable en la mayoría de las circunstancias, pero tenía muchos scripts asíncronos ejecutándose en el navegador y, como hack, lo hago
para detener todo
fuente
Sé que esto es viejo, pero si quieres una
die()
función PHP similar , puedes hacer:Uso:
El ejemplo anterior solo imprimirá "Hola".
fuente
Yo uso este código para detener la ejecución:
Sin embargo, recibirá un error de consola, pero funciona bien para mí.
fuente
Este es un ejemplo de que, si existe una condición, termina el script. Lo uso en mi SSE javascript del lado del cliente, si el
no se puede analizar directamente desde el análisis JSON ...
... de todos modos la idea general es:
esto terminará / morirá su script javasript
fuente
Yo uso la declaración de retorno en lugar de throw como throw da error en la consola. la mejor manera de hacerlo es verificar la condición
esto simplemente detiene la ejecución del programa desde esa línea, en lugar de dar errores en la consola.
fuente
if (condition) { new new }
oif (condition) { purpleMonkeyDishwasher(); }
.