EN
首页 分类 JavaScript 在线运行

JavaScript 在线运行

浏览器本地执行 JavaScript 代码,支持 console 输出与 async/await

常见问题

代码会上传吗?

不会。JavaScript 本来就在浏览器里执行,代码不出你的设备。

支持 async/await 和 Promise 吗?

支持,可以直接写异步代码,结果会等 Promise 落定后输出。

能操作页面的 DOM 吗?

不能。代码在隔离环境中执行,拿不到这个工具页面的 DOM,避免互相干扰。

关于这个工具

代码在当前页面的主线程里执行,用 new Function 包成一个 async 箭头函数体 —— 所以顶层可以直接写 await,但 import 不行(这不是模块环境)。

console.log / warn / error / info 会被接管并按级别着色:多个参数用空格拼接,对象和数组用 JSON.stringify 展开(遇到循环引用或函数退回 String())。耗时显示在状态栏,报错带原始消息。

它不是沙箱:代码与页面同源同作用域,能读写 window、操作 DOM、发网络请求。把别人的代码粘进来等于在页面上直接执行,跑之前先读一遍。

还有一个必须知道的点:没有超时保护。写一个死循环或很慢的同步计算会把整个页面卡住,只能关标签页。跑耗时计算前,先确认循环有明确退出条件。