博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  JavaScript

摘要:REDirectUI 正在筹划开源,但开源协议不同于任何一个现有的开源协议,它是弹性的,它针对有限的用户群。一、为什么开源REDirectUI 曾经是一个个人爱好的产物,也曾经是一个目标宏大的计划,本人作为发起者,倾注了多年的精力和心血才使得它初具模样,只是它还没有发光。因个人精力实在有限,必须依赖团体的力量才能使它发挥应有的作用。在没有资金支持的情况下,通过团队贡献,逐步使它履行自己的使命,变成一个具有核心竞争力的伟大作品。理论上只有团队成员才能获得完整的源代码。基于环境和现实情况,此规则仅仅是”理论上“的,无论规则被破坏到什么程度,本人都有心理准备。既然决定要做,本人已经做好了最坏的打算。 阅读全文

posted @ 2011-07-08 16:06 一桶浆糊 阅读(592) 评论(0) 推荐(0)

摘要:掌握V8的架构和使用过程V8内部架构相当复杂,但是使用还是很方便的,因为V8把所有功能实现封装到内部的命名空间中,只给使用者提供了相当简洁的外部封装类,这些类都在一个叫做v8的命名空间中,全局函数封装在V8命名空间中(注意大小写有别)。V8引擎使用上的便捷性体现在多个方面:l 大量采用模板类,统一了所有脚本对象的内存管理和垃圾回收。l 所有脚本对象不允许直接在堆或栈上构造,这通过私有的构造函数体现出来。对象的创建都使用静态的New方法,对象的类型转换都使用CAST方法。l 所有对象通过Handle<>模板类的封装来自动管理对象的生命周期,Handle分成Local和Persiste 阅读全文

posted @ 2009-04-23 11:31 一桶浆糊 阅读(1005) 评论(0) 推荐(0)

摘要:满足Jscript的现有功能特性在脚本语法上,Jscript跟标准JavaScript的语法基本相同,没有特别需要关注的地方。在标准特性上,Jscript除了ECMA标准特性之外,扩充了许多非ECMA标准的特性,必须仔细找出V8尚未实现的部分。下面列出了一部分:VBArray对象条件编译语句Enumerator对象Error对象===和!==操作符ActiveXObject对象GetObject函数ScriptEngine函数ScriptEngineBuildVersion函数ScriptEngineMajorVersion函数ScriptEngineMinorVersion函数还有一些细节的 阅读全文

posted @ 2009-04-22 15:18 一桶浆糊 阅读(521) 评论(0) 推荐(0)

摘要:移植前的准备:准备工作最起码要做三件事情:1、完全理解微软的脚本引擎规范;2、完全满足Jscript的现有功能特性;3、完全掌握V8的架构和使用过程。理解微软的脚本引擎规范众所周知,微软产品的每个角落都充斥着COM,脚本引擎也不例外。一个合格的脚本引擎必须首先是一个COM组件,并实现下表中列出的标准接口:IActiveScript – 这个接口是必须的,所有脚本引擎都应该实现这个接口,它负责维护脚本引擎的状态机,以及报告脚本执行状态。IActiveScriptParse– 这个接口也是必须的,脚本代码执行之前的解析过程必须由它来完成。IActiveScriptParseProcedure2– 阅读全文

posted @ 2009-04-22 15:02 一桶浆糊 阅读(678) 评论(0) 推荐(0)

摘要:前言:看标题很容易给人误解,V8引擎本来就是跨平台的,为何还要移植?这个标题真的很不好取名,我的本意是想表达:微软有自己的脚本引擎规范,也有自己的JavaScript引擎,我尝试的事情就是用 V8 替换掉微软自己的 Jscript。这下应该说明白了,但用这个解释来做标题的话实在太长了。由此引来一个新问题:为什么要替换?原因很简单:尝试。我想尝试什么?由于V8开源,我不能把这个东西用于商业用途,只想验证一下传说中V8的性能神话,到底比Jscript快多少。我不太相信网上的评测结论,因为所处环境不同,评测结果没有太多可比性,如果我用相同的规范使用V8和JScript,并且在同一个测试环境中测试(例 阅读全文

posted @ 2009-04-22 14:55 一桶浆糊 阅读(559) 评论(1) 推荐(0)