@@ -4904,6 +4904,19 @@ NAPI_EXTERN napi_status napi_run_script(napi_env env, |
4904 | 4904 | * `[in] script`: A JavaScript string containing the script to execute. |
4905 | 4905 | * `[out] result`: The value resulting from having executed the script. |
4906 | 4906 |
|
| 4907 | +This function executes a string of JavaScript code and returns its result with |
| 4908 | +the following caveats: |
| 4909 | + |
| 4910 | +* Unlike `eval`, this function does not allow the script to access the current |
| 4911 | + lexical scope, and therefore also does not allow to access the |
| 4912 | + [module scope][], meaning that pseudo-globals such as `require` will not be |
| 4913 | + available. |
| 4914 | +* The script can access the [global scope][]. Function and `var` declarations |
| 4915 | + in the script will be added to the [`global`][] object. Variable declarations |
| 4916 | + made using `let` and `const` will be visible globally, but will not be added |
| 4917 | + to the [`global`][] object. |
| 4918 | +* The value of `this` is [`global`][] within the script. |
| 4919 | + |
4907 | 4920 | ## libuv event loop |
4908 | 4921 |
|
4909 | 4922 | N-API provides a function for getting the current event loop associated with |
@@ -5265,6 +5278,7 @@ This API may only be called from the main thread. |
5265 | 5278 | [Xcode]: https://developer.apple.com/xcode/ |
5266 | 5279 | [`Number.MAX_SAFE_INTEGER`]: https://tc39.github.io/ecma262/#sec-number.max_safe_integer |
5267 | 5280 | [`Number.MIN_SAFE_INTEGER`]: https://tc39.github.io/ecma262/#sec-number.min_safe_integer |
| 5281 | +[`global`]: globals.html#globals_global |
5268 | 5282 | [`init` hooks]: async_hooks.html#async_hooks_init_asyncid_type_triggerasyncid_resource |
5269 | 5283 | [`napi_add_finalizer`]: #n_api_napi_add_finalizer |
5270 | 5284 | [`napi_async_init`]: #n_api_napi_async_init |
@@ -5315,6 +5329,8 @@ This API may only be called from the main thread. |
5315 | 5329 | [async_hooks `type`]: async_hooks.html#async_hooks_type |
5316 | 5330 | [context-aware addons]: addons.html#addons_context_aware_addons |
5317 | 5331 | [docs]: https://github.com/nodejs/node-addon-api#api-documentation |
| 5332 | +[global scope]: globals.html |
| 5333 | +[module scope]: modules.html#modules_the_module_scope |
5318 | 5334 | [node-addon-api]: https://github.com/nodejs/node-addon-api |
5319 | 5335 | [node-gyp]: https://github.com/nodejs/node-gyp |
5320 | 5336 | [node-pre-gyp]: https://github.com/mapbox/node-pre-gyp |
|