1、共享scopes

Javascript是一种委托的语言,不用于类继承的语言。
我们目的是提供一种在多个scope中共享一组只读的变量。为此我们设置一个对象的原型。
当访问javascript的对象的属性时,对象首先根据属性名搜索属性,如果没有找到,则对象原型找到了。继续处理,直到找到
对象原型,直到原型链结束了。


为了在多个scope中共享信息,我们首先创建希望共享的对象,
首先用initStandardObjects 来创建对象,然后创建一个新的对象,然后设置它为原型,并且设置它的父亲scope为空。
Scriptable newScope = cx.newObject(sharedScope);
    newScope.setPrototype(sharedScope);
    newScope.setParentScope(null);

现在就可以使用newScope来解析脚本了。让我们调用这个scope。任何顶层的脚本中定义的函数或变量,将会作为scope的属性终结。使用标准对象如Function,String或RegExp都可以在共享的scope中找到定义。多实例scopes也可以被定义,拥有他们自己的变量,使用共享scope。

多实例共享scope可以并发使用。
评论
Azi 2008-03-26
来自Rhino JavaScript的document
teclogid 2008-03-26
资料的来源?
发表评论

您还没有登录,请登录后发表评论

Azi
搜索本博客
存档
最新评论