1.2 Script

  • Script.runtime: 字符串属性,表示当前使用的运行时实现。QJSV8

  • 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