JavaScript 在线执行器

在浏览器中安全执行 JavaScript 代码,支持控制台输出和错误处理。适合代码测试、学习和调试。

示例代码:

代码编辑器

执行结果

点击"执行代码"按钮运行您的 JavaScript 代码

功能介绍

JavaScript 在线执行器是一个安全的代码运行环境,允许您在浏览器中直接执行 JavaScript 代码。 支持现代 JavaScript 语法,包括 ES6+ 特性、类、箭头函数、模板字符串等。

主要特性

  • 实时执行:即时运行 JavaScript 代码,查看执行结果
  • 控制台输出:完整支持 console.log、console.error 等输出方法
  • 错误处理:友好的错误提示和异常捕获
  • 性能监控:显示代码执行时间
  • 示例代码:提供多种学习示例
  • 安全执行:在受限环境中运行,保护用户安全

使用方法

  1. 在代码编辑器中输入或粘贴您的 JavaScript 代码
  2. 点击"执行代码"按钮运行代码
  3. 在执行结果区域查看输出和返回值
  4. 使用示例代码快速开始学习

实现原理

本工具使用 JavaScript 的 Function 构造函数创建安全的执行环境。 通过以下技术实现代码执行:

1. 安全执行环境

// 创建安全的执行函数
const executeUserCode = new Function('console', `
  "use strict";
  try {
    ${userCode}
  } catch (error) {
    console.error('执行错误:', error.message);
    throw error;
  }
`);

2. 控制台输出捕获

// 自定义控制台对象
const safeConsole = {
  log: (...args) => {
    const message = args.map(arg =>
      typeof arg === 'object' ? JSON.stringify(arg, null, 2) : String(arg)
    ).join(' ');
    consoleOutput.push(`[LOG] ${message}`);
  },
  error: (...args) => {
    // 类似处理错误输出
  }
};

3. 错误处理机制

使用 try-catch 块捕获运行时错误,并提供详细的错误信息。 支持语法错误、运行时错误和逻辑错误的检测。

安全注意事项

  • 沙箱环境:代码在受限的执行环境中运行
  • 无网络访问:无法进行网络请求或访问外部资源
  • 无文件系统:无法访问本地文件系统
  • 内存限制:避免无限循环和内存泄漏
  • 执行超时:长时间运行的代码会被中断

支持的 JavaScript 特性

ES6+ 语法

  • 箭头函数
  • 模板字符串
  • 解构赋值
  • 扩展运算符

数据类型

  • 基本类型
  • 对象和数组
  • Map 和 Set
  • Symbol

控制结构

  • 条件语句
  • 循环语句
  • 异常处理
  • 函数定义

内置对象

  • Math 对象
  • Date 对象
  • RegExp 对象
  • JSON 对象

常见用途

  • 学习 JavaScript:快速测试和验证 JavaScript 概念
  • 算法练习:实现和测试各种算法
  • 代码调试:隔离问题代码进行调试
  • 原型开发:快速验证代码逻辑
  • 面试准备:练习编程题目

限制说明

  • 不支持 DOM 操作(document、window 等)
  • 不支持异步操作(setTimeout、Promise 等)
  • 不支持模块导入(import/export)
  • 不支持 Node.js 特定 API
  • 执行时间限制在合理范围内