===============================================================================
Qomolangma OpenProject v2.0
类别 :Rich Web Client
关键词 :JS OOP,JS Framwork, Rich Web Client,RIA,Web Component,
DOM,DTHML,CSS,JavaScript,JScript
项目发起:aimingoo (aiming@gmail.com)
项目团队:..\..\contributor.txt
================================================================================
注意:此前对Qomo V2 beta1做过一次发布,但因为该版本文件已经丢失,且未在sourceforge中发布,
因此此次发布仍然使用beta1的名称。并将更新sourceforge中的文件。
一、Qomolangma 2.0 Beta1
============================
参见如下发布说明:
http://blog.csdn.net/aimingoo/archive/2007/07/25/1707419.aspx
此外,今次发布的更新列表包括:
- 添加工具函数toEtor()和类Dict()
- Class()支持将匿名函数注册为匿名类
- 在内核方面的一些优化代码
- HttpGetMachine()作了一些小的修改
二、有关toEtor()
============================
参见\Framework\TestCase\T_Etor.html。
所谓Etor,是指一种小型的执行器,可以处理代码、标志等。
Etor()本质上是对eval()的封装,但它具有一些有趣的特性。例如我们在PHP中可以有一种类似如下的语法:
=======
str = "abcd${value}ghi"
=======
在这个例子中,如果我们试图将${value}替换为当前代码环境中的变量value的值,那么就可以使用etor来做。
Etor是一个字符串,它可以通过toEtor()来得到,也可以通过eval()来执行。重要的是,我们在String中扩展
了一个etor()方法,通过这个方法可以自动应用Etor,以替换字符串中的特定标志。
Etor可以存取闭包外或从闭包外去存取闭包内部的数据。这一特性例用了eval()使用“当前闭包”中这一特
性。因此Etor可以使用得非常灵活。有关代码可以参见上述的T_Etor.html。下面只简述基本用法:
=======
// 1. 得到一个有效etor的字符串
function aFunc() {
...
}
et = toEtor(aFunc);
// 应用一个etor
function foo() {
// 2. 使etor在指定环境中有效
varetor = eval(et);
// 3. 使用etor
var value = '....';
var str = "abcd${value}efg";
alert(str.etor(etor));
}
=======
三、有关匿名类
============================
在旧版本的Class()函数中,第二个参数总是一个字符串。例如:
=======
TMyObject = Class(TObject, 'MyObject');
=======
这表明将MyObject()构造器注册为类。但是,如果MyObject()是匿名的,就没有办法处理了。在新
版本的Qomo中,允许第二个参数为函数。因此,可以是:
=======
MyFunc = function() {
}
TNewObject = Class(TObject, MyFunc);
=======
也可以是:
=======
TNewObject = Class(TObject, function() {
... // 在这里可以使用任意复杂的类声明
});
=======
由于匿名类是没有类名的,因此系统事实上是将它写在命名空间下的TAnonymous类中。同样的原因,
上面得到的TNewObject只是该类的一个引用,而非真实的类名。
三、其它
============================
Qomo V2.0 Beta 1下载
----------
http://groups.google.com/group/qomo/files
下载文件名:
Qomo.V2.b1.zip
或从如下地址签出SVN:
----------
https://qomo.svn.sourceforge.net/svnroot/qomo/trunk
分享到:
相关推荐
标题“Qomo V2.1beta.2008.10.14”指的是一个特定版本的Qomo软件,这是一个在2008年10月14日发布的V2.1 beta版本。Qomo可能是一个JavaScript库或框架,专注于提供某种功能或服务,可能是与Web开发相关的。这个版本的...
Qomo框架是由知名IT专家周爱民老师在《javascript语言精髓与编程实践》一书中提及的一个JavaScript框架。这个框架的设计灵感来源于实际项目WEUI,它旨在简化Web开发过程,提高前端开发效率,同时帮助开发者更好地...
QOMO Quaqua库的版本3.6.11-1是该软件的一个更新迭代,它可能包含了性能优化、bug修复以及新功能的添加。开发者在使用此版本时,可以期待更稳定、更贴近Mac OS X界面的实现。值得注意的是,"3.6.11-1"这个标识可能...
乔莫Qomo OpenProject是一个True OOP框架(具有名称空间,AOP,ajax,templet ...)和基于UI库的Web浏览器。 从企业项目中提取的项目。 适用于所有JavaScript爱好者的免费开放源代码,并希望任何人加入/推动该项目。...
Qomo Project是一个JavaScript实现的,可自定义剪切的OOP框架(具有名称空间,AOP,templet ...)和用于Web浏览器的UI库。 该项目已向所有JavaScript爱好者,DOM专家等开放。希望您现在加入/冲动。
标题“QoBean.2008.10.14”指的是一个关于QoBean技术的特定版本或更新,发布于2008年10月14日。QoBean是一个JavaScript库,旨在提高JavaScript开发中的面向对象编程能力。这个库可能是由“aimingoo”创建或维护的,...
在所提供的文档"启动一个Rich Web Client的项目:Qomo OpenProject.doc"和"Rich Client简介.doc"中,你可能会找到更具体的步骤和Qomo OpenProject这个特定项目的实施细节。这些文档会帮助你深入理解如何从零开始构建...
javascript作为一种混合式语言的各方面特性,包括过程式、面向对象、函数式和动态语言特性等,在动态函数式语言特性方面有着尤为细致的讲述。本书的主要努力之一,就是分解出这些语言原子,并重现将它们混合在一起的...