Bagaimana saya bisa keluar dari skrip JavaScript seperti PHP exit
atau die
? Saya tahu ini bukan praktik pemrograman terbaik, tetapi saya harus melakukannya.
javascript
exit
die
Nir
sumber
sumber
return;
mungkin cukup tergantung pada kebutuhan Anda, bertindak seperti die () tanpa parameter.Jawaban:
Setara dengan JavaScript untuk PHP
die
. BTW itu hanya panggilanexit()
(terima kasih splattne):sumber
Fungsi "keluar" biasanya keluar dari program atau skrip bersama dengan pesan kesalahan sebagai parameter. Misalnya mati (...) di php
Setara dengan JS adalah memberi sinyal kesalahan dengan kata kunci throw seperti ini:
Anda dapat dengan mudah menguji ini:
sumber
Bahkan dalam program sederhana tanpa pegangan, acara dan semacamnya, yang terbaik adalah menempatkan kode dalam fungsi "utama", bahkan ketika itu adalah satu-satunya prosedur:
Dengan cara ini, ketika Anda ingin menghentikan program, Anda dapat menggunakan "kembali".
sumber
Jika Anda tidak peduli itu salah, tulis saja:
Itu akan menghentikan kode utama (global) Anda untuk melanjutkan. Berguna untuk beberapa aspek debugging / pengujian.
sumber
window.fail
tidak ditentukan di browser saat ini.mikeyMouse;
- kesalahan akan berakhir. Cepat dan kotor.Ada banyak cara untuk keluar dari skrip JS atau Node. Inilah yang paling relevan:
Jika Anda berada di REPL (yaitu setelah menjalankan
node
pada baris perintah), Anda dapat mengetik.exit
untuk keluar.sumber
Dalam kasus saya, saya menggunakan
window.stop
API yang seperti mengklik tombol X pada browser Anda:sumber
Tempatkan
debugger;
kata kunci dalam kode JavaScript Anda di mana Anda ingin menghentikan eksekusi. Kemudian buka alat pengembang browser favorit Anda dan muat ulang halaman tersebut. Sekarang ia akan berhenti secara otomatis. Buka bagian Sumber alat Anda: thedebugger;
kata kunci disorot dan Anda memiliki opsi untuk melanjutkan eksekusi skrip.Saya harap ini membantu.
Informasi lebih lanjut di:
https://developer.mozilla.org/de/docs/Tools/Debugger
http://www.w3schools.com/js/js_debugging.asp
sumber
Saya pikir pertanyaan ini telah dijawab, klik di sini untuk informasi lebih lanjut. Di bawah ini adalah jawaban singkat yang diposting.
Anda juga dapat menggunakan browser Anda untuk menambahkan break point, setiap browser serupa, periksa info di bawah untuk browser Anda.
Untuk info break point Chrome klik di sini
Untuk info break point Firefox klik di sini
Untuk info break point Explorer klik
Untuk info break point Safari klik di sini
sumber
Jika Anda mencari cara untuk menghentikan eksekusi semua Javascript secara paksa pada halaman, saya tidak yakin ada cara yang disetujui secara resmi untuk melakukan itu - sepertinya hal yang mungkin merupakan risiko keamanan (meskipun untuk jujur, saya tidak bisa memikirkan bagaimana itu akan keluar dari kepala saya). Biasanya dalam Javascript ketika Anda ingin kode Anda berhenti berjalan, Anda hanya
return
dari fungsi apa pun yang dijalankan. (Itureturn
Pernyataan ini opsional jika itu adalah hal terakhir dalam fungsi dan fungsi tidak boleh mengembalikan nilai). Jika ada beberapa alasan pengembalian tidak cukup baik untuk Anda, Anda mungkin harus mengedit lebih detail ke pertanyaan mengapa Anda berpikir Anda membutuhkannya dan mungkin seseorang dapat menawarkan solusi alternatif.Perhatikan bahwa dalam praktiknya, sebagian besar penerjemah Javascript browser hanya akan berhenti menjalankan skrip saat ini jika mereka menemukan kesalahan. Jadi Anda dapat melakukan sesuatu seperti mengakses atribut dari variabel yang tidak disetel:
dan mungkin akan membatalkan skrip. Tetapi Anda tidak harus mengandalkan itu karena sama sekali tidak standar, dan itu benar-benar tampak seperti praktik yang mengerikan.
EDIT : Oke, mungkin ini bukan jawaban yang bagus mengingat Ólafur's. Meskipun
die()
fungsi yang dia tautkan pada dasarnya mengimplementasikan paragraf kedua saya, yaitu hanya melempar kesalahan.sumber
lempar "";
Merupakan penyalahgunaan konsep tetapi mungkin satu-satunya pilihan. Dan, ya, Anda harus mengatur ulang semua pendengar acara, seperti jawaban yang diterima. Anda juga akan membutuhkan satu titik masuk jika saya benar.
Di atasnya: Anda ingin halaman yang melapor kepada Anda melalui email segera setelah dilempar - Anda dapat menggunakan misalnya Raven / Sentry untuk ini. Tapi itu berarti, Anda menghasilkan sendiri kesalahan positif. Dalam kasus seperti itu, Anda juga perlu memperbarui penangan default untuk memfilter acara tersebut atau mengabaikan acara tersebut di dasbor Sentry.
window.stop ();
Ini tidak berfungsi selama pemuatan halaman. Itu berhenti decoding halaman juga. Jadi, Anda tidak dapat menggunakannya untuk menawarkan varian halaman bebas javascript kepada pengguna.
debugger;
Hentikan eksekusi hanya dengan debugger dibuka. Bekerja dengan baik, tetapi tidak bisa dikirim.
sumber
Dalam JavaScript ada beberapa cara, di bawah ini adalah beberapa di antaranya
Metode 1:
Metode 2:
Metode 3:
Metode 4:
Metode 5:
tulis fungsi kustom Anda menggunakan metode di atas dan panggil ke tempat yang Anda butuhkan
Catatan: Jika Anda ingin menghentikan sementara eksekusi kode yang dapat Anda gunakan
sumber
Fungsi kecil ini cukup mirip dengan meniru keluar PHP (). Seperti solusi lainnya, jangan tambahkan yang lain.
sumber
Cukup buat kondisi BOOL, tidak perlu kode rumit di sini ..
Jika bahkan sekali Anda mengubahnya menjadi true / atau multiple times, keduanya akan memberi Anda satu baris solusi / tidak multipel - pada dasarnya sesederhana itu.
sumber
Jika Anda menggunakan fungsi yang tidak terdefinisi dalam skrip maka skrip akan berhenti karena "Uncaught ReferenceError". Saya telah mencoba dengan mengikuti kode dan dua baris pertama dieksekusi.
Saya pikir, ini adalah cara terbaik untuk menghentikan skrip. Jika ada cara lain, tolong beri komentar. Saya juga ingin tahu cara lain yang terbaik dan sederhana. BTW, saya tidak mendapatkan keluar atau mati fungsi inbuilt dalam Javascript seperti PHP untuk mengakhiri skrip. Jika ada yang tahu, tolong beri tahu saya.
sumber
Jika Anda hanya ingin menghentikan kode lebih lanjut dari eksekusi tanpa "melempar" kesalahan apa pun, Anda dapat mengesampingkan sementara
window.onerror
seperti yang ditunjukkan padacross-exit
:sumber
Saya menggunakan iobroker dan dengan mudah berhasil menghentikan skrip
sumber
Tidak berlaku di sebagian besar keadaan, tetapi saya memiliki banyak skrip async yang berjalan di browser dan sebagai peretasan saya lakukan
untuk menghentikan semuanya.
sumber
Saya tahu ini sudah tua, tetapi jika Anda menginginkan
die()
fungsi PHP yang serupa , Anda dapat melakukannya:Pemakaian:
Contoh di atas hanya akan mencetak "Halo".
sumber
saya menggunakan kode ini untuk menghentikan eksekusi:
Anda akan mendapatkan kesalahan konsol tetapi itu bekerja baik untuk saya.
sumber
Ini adalah contoh, bahwa, jika suatu kondisi ada, maka akhiri skrip. Saya menggunakan ini di javascript sisi klien SSE saya, jika
canot diurai langsung dari JSON parse ...
... pokoknya ide umumnya adalah:
ini akan mengakhiri / mati skrip javasript Anda
sumber
saya menggunakan pernyataan return bukannya throw karena throw memberikan error pada konsol cara terbaik untuk melakukannya adalah memeriksa kondisinya
ini hanya menghentikan eksekusi program dari baris itu, alih-alih memberikan kesalahan di konsol.
sumber
if (condition) { new new }
atauif (condition) { purpleMonkeyDishwasher(); }
.