2008-03-22
Scope and Context(2)
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可以并发使用。
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可以并发使用。
- 00:14
- 浏览 (239)
- 评论 (2)
- 分类: Java技术
- 发布在 javascript研究小组 圈子
- 相关推荐
发表评论
- 浏览: 63755 次
- 性别:

- 来自: 广州

- 详细资料
搜索本博客
最新评论
-
JavaEye之路
我在这,随便说点啥,博客,论坛,都说我应该是一个新手的帖子。不过我还是呆在这。反 ...
-- by saharabear -
我是穷忙族
-- by lbyzx123 -
JavaEye之路
javaeye目前的问题: 1,缺乏一个好的盈利模式,商业化运作 2,技术定位 ...
-- by kimmking -
JavaEye之路
我也很喜欢JavaEye,比CSDN好 CSDN太杂了
-- by lovefly_zero -
JavaEye之路(2)
挑战频道 -- 已经有问答频道,可以随意提问题,让大家来解决最近频道 -- Ja ...
-- by ouspec






评论排行榜