bramblex / jsjs

简易的 JavaScript 元循环解释器

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

导出默认对象 default_api里面不能有内置函数?

QGB opened this issue · comments

在里面加个window ,用window.alert(2) 没问题

interpreter.run('alert(22)')

  CallExpression @ interpreter.js:6042
  evaluate @ interpreter.js:6089
  ExpressionStatement @ interpreter.js:5652
  evaluate @ interpreter.js:6089
  Program @ interpreter.js:5615
  evaluate @ interpreter.js:6089
  run @ interpreter.js:255
  (anonymous) @ VM197:1

alert 没有默认导出,可以手动导出 alert。api 可以是任何 javascript 类型或对象

@bramblex 我就是手动导出了啊 在default_api 里加 alert: alert

但是调用报错 出错栈就是 上面那个

如果加上 window:window
用interpreter.run('window.alert(22)')就没问题

interpreter.run('alert(7)')

interpreter.js:6042 Uncaught TypeError: Illegal invocation
at CallExpression (interpreter.js:6042)
at evaluate (interpreter.js:6089)
at ExpressionStatement (interpreter.js:5652)
at evaluate (interpreter.js:6089)
at Program (interpreter.js:5615)
at Object.evaluate [as default] (interpreter.js:6089)
at Object.run (interpreter.js:255)
at :1:13