napi_run_script


NAPI_EXTERN napi_status napi_run_script(napi_env env,
                                        napi_value script,
                                        napi_value* result); 
  • [in] env:调用该 API 时所处的环境。
  • [in] script:一个包含要执行脚本的 JavaScript 字符串。
  • [out] result:执行脚本后得到的值。

此函数执行一段 JavaScript 代码并返回其结果,但有以下注意事项:

【This function executes a string of JavaScript code and returns its result with the following caveats:】

  • eval 不同,这个函数不允许脚本访问当前的词法作用域,因此也不允许访问 模块范围,这意味着伪全局变量如 require 将不可用。
  • 脚本可以访问 全局范围。脚本中的函数和 var 声明将被添加到 global 对象中。使用 letconst 声明的变量在全局可见,但不会被添加到 global 对象中。
  • 在脚本中,this 的值是 global