eval5 JavaScript 解释器, 1.4.0-1.4.5 发布日志

eval5是一个TypeScript实现的JavaScript解释器,完全支持ES5,适用于浏览器、Node.js及小程序环境。最新版本修复了with语句、异常处理、变量声明等问题,并增强了内置对象支持。它通过编译源码为抽象语法树,再按节点类型解释执行。项目链接:https://github.com/bplok20010/eval5,包含在线体验和示例。
摘要由CSDN通过智能技术生成

eval5是基于TypeScript编写的JavaScript解释器,100%支持ES5语法。

支持浏览器、node.js、小程序等 JavaScript 运行环境 。

项目地址: https://github.com/bplok20010/eval5

使用场景

  • 浏览器环境中需要沙盒环境来执行JavaScript代码
  • 浏览器环境控制代码执行时长
  • 不支持eval/Function的JavaScript运行环境,如:微信小程序

更新日志

1.4.5

  • 修复with语句中函数调用时丢失this信息

1.4.4

  • 修复在未使用try-catch情况下出现异常时导致下次调用evaluate时的变量声明错乱问题。

1.4.3

  • 修复 WithStatement 中赋值不生效问题。
  • rootContext创建调整为:Object.create(options.rootContext),防污染。

1.4.2

  • 新增内置对象:URIError RangeError SyntaxError ReferenceError
  • 修复 assignment 表达式触发对象的getter方法调用

1.4.1

  • 修复再次执行事超时机制失效问题
  • 修复函数表达式赋值时引起的返回值错乱问题

1.4.0

  • 解释器内部eval/Function重写
  • 新增参数 options.rootContext
  • 新增参数 options.global
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值