我心飞扬

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  11 随笔 :: 50 文章 :: 5 评论 :: 0 Trackbacks

对象系统有三种实现方式:
1、基于类(class-based)
2、基于原型(prototype-based)
3、基于元类(metaclass-based)

后两种并不是很熟悉哦,ruby是基于元类的实现吗?
原型继承是JavaScript最重要的语言特性之一

JS没有类的概念,它使用构造器机制实现类的某些功用

原型继承是 JS 对象系统中最关键的元素。以后如果有机会深入探究,各种 对象系统,其实现应该都是有相通之处的吧

对象的继承机制中,用到了 原型链。查找对象元素,可能要用到回溯
SpiderMonkey还实现了复杂的对象成员性质管理,即可见性,公有、私有等属性的管理。(这个真的很复杂吗?)
一个对象重写了父类的对象后,这个方法就标记为可delete了,同时在对象的属性列表中会保存父类中该成员的信息,如果删除子类中该属性之后, 将重新使用父类的值与性质

刚才编辑的东西怎么没有了? 每次发布之前,要先保存下才稳妥啊。。。

ExtJS对JavaScript几个基本类的扩展都写在Ext.js里面了。
如下是对Function对象的扩展:
Ext.apply(Function.prototype,{
    createCallback : function(){...},
    createDelegate : function(obj, args, appendArgs){...},
    defer : function(millis, obj, args, appendArgs){...},
    createSequence : function(fcn, scope){...},
    createInterceptor : function(fcn, scope){...}
});  // 扩展Function类的原型后,所有的函数都具有 扩展的属性了?  Ext.apply在Ext Element中已经引用到,不过有个default参数,可以把配置对象里的所有属性拷贝到 目标对象中。 不过 直接的 Ext.apply有定义吗?或者 JavaScript本身便支持这种语法?

Ext.js中有一个很长的语句, (function(){.... // 这里面定义了很多东西,大约有700多行}),最外面的是强制执行标识吗?这个可以测试下的
posted on 2009-08-16 20:47 Monicax 阅读(169) 评论(0)  编辑 收藏 引用 所属分类: ExtJS Home
只有注册用户登录后才能发表评论。