Langkau ke kandungan
ToolMug

Jalankan JavaScript Dalam Talian

Tampal atau tulis JavaScript dan klik Jalankan untuk melihat output log, amaran dan ralat — sesuai untuk mencuba cebisan kod, berlatih algoritma atau menyahpepijat logik. Await peringkat atas berfungsi dan kod berjalan dalam worker berasingan supaya gelung tanpa henti tidak membekukan halaman.

Berjalan dalam pelayar anda — apa yang anda masukkan tidak dimuat naik

Ctrl+Enter / ⌘+Enter

Konsol

Output daripada console.log muncul di sini.

Berjalan dalam pekerja berasingan: tiada DOM (document, window), tetapi fetch, pemasa, JSON, Intl dan binaan lain berfungsi.

Cara menggunakan

  1. Tulis kod di sebelah kiri atau edit contoh yang tersedia.
  2. Klik Jalankan atau tekan Ctrl+Enter (⌘+Enter pada Mac). Output konsol muncul di sebelah kanan.
  3. Jika kod berjalan terlalu lama, klik Henti, atau tetapkan had masa di bahagian bawah kanan.

Penerangan pilihan

Persekitaran
Web Worker dalam pelayar anda dengan sintaks JavaScript terkini yang disokong pelayar, fetch, setTimeout, Intl dan crypto, tetapi tanpa document atau window.
Konsol
console.log, info, warn, error, debug, table, count dan time/timeEnd, dengan ruang letak %s, %d dan %o. Objek dikembangkan hampir seperti dalam Node.js.
Await peringkat atas
Kod berjalan dalam fungsi async, jadi anda boleh menggunakan await secara terus.

Apa yang dicetak

Hanya apa yang anda hantar ke konsol dipaparkan dalam output. Nilai baris terakhir tidak dipaparkan seperti dalam konsol pelayar, jadi bungkuskannya dalam console.log. Pencetakan mengikut gaya Node.js: tatasusunan dan objek dikembangkan, rentetan di dalamnya dipetik, dan pemegang tempat %s dan %d diisi daripada argumen berikutnya.

console.log([1, 2, 3].map((n) => n * n));
console.log('%s is %d years old', 'Ada', 36);
console.log({ name: 'Ada', tags: ['a', 'b'] });
const data = await fetch('https://example.com/').then((r) => r.status);
console.log(data);

Tiga baris pertama mencetak [ 1, 4, 9 ], Ada is 36 years old dan { name: "Ada", tags: [ "a", "b" ] }. Dua baris terakhir memerlukan sambungan rangkaian dan mencetak status HTTP permintaan. Had masa boleh ditetapkan kepada 5, 10, 30 atau 60 saat; apabila ia dicapai, larian ditamatkan dan satu mesej menyatakannya.

Soalan lazim

Bolehkah saya mengimport pakej npm?

Bukan dengan pernyataan import biasa. Anda boleh memuatkan pakej ESM secara dinamik dengan await import('https://esm.sh/package-name'), yang memerlukan sambungan rangkaian.

Bagaimana jika saya menulis gelung tanpa henti?

Klik Henti untuk menamatkannya serta-merta, atau ia akan berhenti sendiri apabila had masa dicapai. Setiap pelaksanaan menggunakan worker baharu, jadi halaman tidak terjejas.

Adakah kod saya dimuat naik?

Tidak. Kod berjalan dalam pelayar anda sahaja; satu-satunya permintaan rangkaian ialah permintaan yang dibuat oleh kod anda sendiri.

Adakah TypeScript disokong?

Buat masa ini hanya JavaScript; buang anotasi jenis TypeScript dahulu.

Privasi

Alat ini berjalan sepenuhnya dalam pelayar anda. Fail dan teks anda diproses pada peranti anda dan tidak pernah dimuat naik ke pelayan kami.

Alat berkaitan