循环反转示例: for(var i = 0;i<data.length;i++){ //. } //倒转后代码 for(var i = data.length-1;i>=0;i--){ //. } 这类优化的作用是明显的,但是具体有多大作用呢? 用一个长度为100 000 的数组测试一下: 515/313 500/313 516/312 516/328 516/328 可见,循环反转后,只需要原来3/5的时间. 但是,这种东西到底有多大价值?FF上200次循环仅需要1毫秒的时间.所以,个人认为,只要循环的内容不是太长,使用不算非常 ...
在JSI的实现中,有这样一种需求,将有自带命名空间的脚本元素名数组转换成没有命名空间的变量名数组. 比如 : ['YAHOO.util.XXXX,YAHOO.util.YYYY,YAHOO.event.XX'] ->['YAHOO'] 以前一直是较长的一段处理代码,今天突发奇想,这个用正则表达式处理效果如何? 于是,就这种处理,分别测试了正则表达式和javascript代码的效率. 测试数据如下(regTime /codeTime): 620/4536 729/4068 719/4250 645/4152 655/4642 FF和IE结果差不多,上面 ...
一直都认为,javascript的函数调用是一个相对耗时的操作。 开始JSI的优化,这些问题现在必须认真考虑了,测试一把: 一个简单的++操作,直接操作和函数内操作(注,函数参数对原始类型是值传递,所以这不会影响被传入的变量,这里测试里面,两类操作的行为是不一样的) FF2测试结果(callTime/opTime): 2871/2582 2919/2675 2734/2704 2953/2516 3732/3346 IE7测试结果: 3140/376 3173/327 3238/247 3265/235 3217/299 通过测试可见,函数调用的消 ...
前几天无意中看到一个网友blog上关于这个循环效率的问题,说要尽量避免使用。 有点害怕,我在JSI中可是用了不少,呵呵。 测试一下,负担终于可以放下来了: 测试对象: 一个对象模拟map,测试for in 循环 两个数组,测试for(;;)循环 连续4次运行时间比。 957/1278;955/1357;1014/1282;968/1392 明显,要实现类似map的功能,还是for in 快点。 上面的数据是ff2上的结果,ie7上也差不多,差距更小一点。 测试代码: js 代码   function C(i) ...
刚刚修正了一个JSA的bug。 顺便测试了一下文本压缩的性能,和纯packer 压缩,ShrinkSafe+packer压缩。 压缩大小: jquery-jsa-s.js(JSA的语法压缩):29766 jquery.compressed.js(ShrinkSafe语法压缩):33992 jquery-jsa-st.js(JSA的语法压缩+文本压缩):19526 jquery-packer.js(Packer文本压缩):20977 jquery.compressed-packer.js(ShrinkSafe语法压缩+Packer文本压缩):21839 有点奇怪的 ...
以前JSI的依赖管理设置时,依赖元素可以用* 、含有*的匹配模式、数组和单个元素。 感觉这样处理难度增加了很多,决定吧匹配模式去掉,只支持 *、数组和单个元素 含有*的匹配模式可以用精确的数组代替。 原来的做法太复杂了,改简单一点,提高效率,便于优化。
2007-05-18

关于JSI日志输出的想法

关键字: JSI Log
JSI 日志是JSI内核中唯一的一个具体功能。 在2.0preview 中,默认是输出倒错误控制台的。 实现方式 setTimeout(function(){ throw new Error(错误信息) },0) 但是这样貌似有个异步代码错误插入的问题(当有程序异步调用时,setTimeout抛出的错误可能会导致异步代码中抛出异常,就像错误发生在异步代码中一样)。 所以这个问题必须解决了。 原先的想法是模仿log4javascript。 那样,在日志窗口,可以实现很多复杂功能。 但是,因为日志系统时内核的部分,不想做的太复杂。打消了这个念头。 不过,可以 ...
最近在搞JSI 的重构,少来冒泡了。 发一个中午的刚用到的小技巧: 在关机效果实现上,现在一般根据浏览器特征分别使用 虑镜/样式/图片 去模拟。 其中Opera是不支持网页透明的,只能用png的alpha透明模拟。 所以,我们需要一张特别的小图片。一个象素,alpha透明。 但是这个单象素图片的出现,感觉有点怪怪的,而且当网速很慢的时候,装载这个小图片还会延迟,效果不好。 不过,Opera的另外一个特性,可以避免这个问题:data:协议的支持。 对于这种小图片,完全可以编码到样式里面 css 代码 background-ima ...
第一次见到媒体的关注,精神为之一振。 ^_^ 一定好好做,不让关注她的人群失望:)
2007-05-14

删除掉了

关键字: jsi
 
发布了一段时间JSI2预览版了,下一步准备JSI2Alpha版开发。 主要任务有: 1、优化依赖管理模块。 2、完善日志输出功能。 3、清理现有bug。 预计需要3周左右时间。 按需装载的优化、JSDoc的完善、将推后。 示例装饰器将暂时停止更新。 http://www.xidea.org/project/jsi/index.html
2007-05-12

从零开始 Spinner(微调器)装饰器开发:

关键字: JSI JSIntegration widget decorator
Spinner(微调器)装饰器开发: 组件介绍: 仿照 window时间日期管理中,年份调节的控件,原型是一个文本输入筐,一般用于数字输入。筐后有上下微调按钮,用于增减控件值。 这种控件在backbase框架中也有出现,JSI的spinner就是仿照其外形设计。 显示效果: 在线演示见:http://www.xidea.org/project/jsi/decorator/spinner.html 代码: org/xidea/decorator/spinner.js   /**   * @public&nbs ...
2007-05-12

基于FCKEditor 开发JSI Editor装饰器

关键字: JSI JSIntegration widget decorator
基于FCKEditor 开发JSI Editor装饰器: 组件介绍: JSI Editor装饰器,是一个用于可视化html编辑的组件(当能,将来也可考虑其他格式,如ubb),在标记设计上,参照Mozilla XUL的editor标记。而具体实现上,使用FCKEditor。 效果:   装饰器实现代码:   /**   * @public   * @decorator editor   * @attri ...
var test1 = 1; function test1(){};//函数申明不能覆盖变量申明? alert(test1); var test2 = 1; eval('function test2(){};'); alert(test2);//函数申明怎么又覆盖了变量申明?
JSA 1.0 Alpha发布,压缩效率提高大约10% 最新更新(2007-05-23 IE5 bug) 感谢 PHPRPC 作者 andot  的bug报告: 下载地址:http://sourceforge.net/project/showfiles.php?group_id=175776 压缩算法改进: 实现了自己的文本压缩算法 提高了压缩比率以及解压效率。 优化了语法压缩 合并连续var申明, 删除了多余var申明, 删除了多余大括弧({、}), ...
2007-05-07

邀请第三方团队开发页面装饰器实现的公开信。

关键字: JSI JSIntegration widget decorator
邀请第三方团队开发页面装饰器实现的公开信 页面装饰引擎简介 用于装饰朴素html元素的框架,使用简单的xml标记,标识期装饰行为,比如将一个普通的input装饰成一个日期输入控件。将一个textarea装饰成一个代码语法高亮显示区域,或一个wysiwyg html编辑器。 JSI启动后将采用异步方式,自动检查decorator标记,自动做相关类的寻找、导入并装饰页面。 实现零脚本代码的web富客户端编程: 更多信息参考: 示例装饰器演示:http://www.xidea.org/project/jsi/decorator/index.html JSI项目主页:htt ...
jindw
  • 浏览: 203612 次
  • 性别: Icon_minigender_1
  • 来自: 初到北京
  • 详细资料
搜索本博客
存档
最新评论