Node.js | script.runInThisContext() 方法
script.runInThisContext() 方法在当前全局对象的上下文中运行 vm.Script 中存在的编译代码。此外,运行代码无法访问本地范围,但可以访问当前全局对象。
句法:
script.runInThisContext( options )
参数:此方法接受可选的单个参数选项并返回Object 。选项可以是displayErrors 、 timeout和breakOnSigint 。
返回值:它返回脚本中执行的最后一条语句的结果。
下面的例子说明了 Node.js 中script.runInThisContext() 方法的使用:
示例 1:
// Node.js program to demonstrate the
// script.runInThisContext() method
// Including vm module
const vm = require('vm');
// Defining code
let code = 'console.log("I am an author?");';
// Defining script
let script = new vm.Script(code);
// Calling runInThisContext method
script.runInThisContext();
输出:
I am an author?
示例 2:
// Node.js program to demonstrate the
// script.runInThisContext() method
// Including vm module
const vm = require('vm');
// Defining x and y
var x = 40; var y = 17;
// Adding x and y
const z = x + y;
// Dwfining code
let code = console.log(z);
// Defining script
let script = new vm.Script(code);
// Calling runInThisContext method
script.runInThisContext();
输出:
57
参考: https://nodejs.org/api/vm.html#vm_script_runinthiscontext_options