script.runInContext(contextifiedObject[, options])
曆史
版本 | 變化 |
---|---|
v6.3.0 | 現在支持 |
v0.3.1 | 添加於:v0.3.1 |
參數
contextifiedObject
<Object>vm.createContext()
方法返回的 contextified 對象。options
<Object>- 返回: <any> 腳本中執行的最後一條語句的結果。
運行給定 contextifiedObject
中 vm.Script
對象包含的編譯代碼並返回結果。運行代碼無權訪問本地範圍。
下麵的示例編譯代碼,增加一個全局變量,設置另一個全局變量的值,然後多次執行代碼。全局變量包含在context
對象中。
const vm = require('node:vm');
const context = {
animal: 'cat',
count: 2
};
const script = new vm.Script('count += 1; name = "kitty";');
vm.createContext(context);
for (let i = 0; i < 10; ++i) {
script.runInContext(context);
}
console.log(context);
// Prints: { animal: 'cat', count: 12, name: 'kitty' }
使用 timeout
或 breakOnSigint
選項將導致新的事件循環和相應的線程被啟動,這具有非零的性能開銷。
相關用法
- Node.js vm.Script.runInNewContext([contextObject[, options]])用法及代碼示例
- Node.js vm.Script.runInThisContext([options])用法及代碼示例
- Node.js vm.Script.createCachedData()用法及代碼示例
- Node.js vm.SyntheticModule.setExport(name, value)用法及代碼示例
- Node.js vm.SourceTextModule.createCachedData()用法及代碼示例
- Node.js vm.SyntheticModule用法及代碼示例
- Node.js vm.createContext([contextObject[, options]])用法及代碼示例
- Node.js vm.Module用法及代碼示例
- Node.js vm.runInThisContext(code[, options])用法及代碼示例
- Node.js vm.isContext()用法及代碼示例
- Node.js vm.measureMemory([options])用法及代碼示例
- Node.js vm.runInNewContext()用法及代碼示例
- Node.js vm.runInNewContext(code[, contextObject[, options]])用法及代碼示例
- Node.js vm.createContext()用法及代碼示例
- Node.js vm.runInThisContext()用法及代碼示例
- Node.js vm.runInContext()用法及代碼示例
- Node.js vm.runInContext(code, contextifiedObject[, options])用法及代碼示例
- Node.js vm.Module.link(linker)用法及代碼示例
- Node.js v8.getHeapSpaceStatistics()用法及代碼示例
- Node.js v8.deserializer.readRawBytes()用法及代碼示例
- Node.js v8.deserializer.readUint32()用法及代碼示例
- Node.js v8.serializer.writeRawBytes()用法及代碼示例
- Node.js v8.writeHeapSnapshot([filename])用法及代碼示例
- Node.js v8.Deserializer.readUint32()用法及代碼示例
- Node.js v8.getHeapCodeStatistics()用法及代碼示例
注:本文由純淨天空篩選整理自nodejs.org大神的英文原創作品 vm.Script.runInContext(contextifiedObject[, options])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。