1.2 Script
Script.runtime
: 字符串属性,表示当前使用的运行时实现。QJS
或V8
。Script.pin()
: 暂时阻止卸载当前脚本。这个行为会被引用计数,因此后面某个地方一定要有个匹配的unpin()
。通常在你需要手动控制另一个线程的清理工作时,被用在bindWeak()
的回调中。Script.unpin()
:pin()
的逆操作,使当前的脚本可以被卸载。Script.bindWeak(value, fn)
: 监视变量value
,当value
被垃圾回收后,或脚本将要被卸载时调用fn函数。该API返回一个ID
,你可以将该ID传递给Script.unbindWeak()
,进行显示的清理。当你构造语言绑定时,这个API会非常有用:当一个JS变量不再被需要时,脚本会自动释放Native资源。Script.unbindWeak(id)
: 停止对Script.bindWeak(value, fn)
监视的变量的监视,并立刻调用fn
。Script.setGlobalAccessHandler(handler | null)
: 安装或卸载一些处理函数,这些函数用来处理尝试访问不存在的全局变量时发生的异常。这个API在实现一个REPL时非常有用,比如尝试惰性取回数据库id时。 其中,handler
是一个普通的JavaScript对象,该对象需要包含两个属性: *enumerate()
: 用于查询那些全局变量存在,必须返回一个字符串数组。 *get(property)
: 用于取回指定property的值。
Last updated