Google [站内搜索]

预览模式: 普通 | 列表

提升JavaScript运行速度之DOM篇

在Web开发中,JavaScript的一个很重要的作用就是对DOM进行操作,可你知道么?对DOM的操作是非常昂贵的,因为这会导致浏览器执行回流操作,而执行了过多的回流操作,你就会发现自己的网站变得越来越慢了,我们应该尽可能的减少DOM操作。本文是这个系列的最后一篇,给出了一些指导性原则,比如在什么时候应该对DOM可以进行什么样的操作等。

【原文】Nicholas C. Zakas - Speed up your JavaScript, Part 4
【译文】明达 - 如何提升JavaScript的运行速度(DOM篇)

查看更多...

分类:脚本语言 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4386

提升JavaScript运行速度之递归篇

影响JavaScript性能的另外一个杀手就是递归,在上一节中提到采用memoization技术可以优化计算数值的递归函数,但memoization不是万能的,不是所有的递归函数都可以用memoization技术优化,本文介绍了这些情况,并介绍了解决办法,就是将递归转换为迭代,同时需要注意,本文末尾介绍的方案不是最终的方案,还需要和上一节优化循环的方案综合起来才能达到最佳效果。

【原文】Speed up your JavaScript, Part 3
【作者】Nicholas C. Zakas
【译文】http://cuimingda.com/2009/02/speed-up-your-javascript-part-3.html

查看更多...

分类:脚本语言 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4212

提升JavaScript运行速度之函数篇

这篇是Nicholas讨论如果防止脚本失控的第二篇,主要讨论了如何重构嵌套循环、递归,以及那些在函数内部同时执行很多子操作的函数。基本的思想和上一节chunk()那个例子一致,如果几个操作没有特定的执行顺序,而且互相不是依赖关系,我们就可以通过异步调用的方式加以执行,不止可以减少执行的次数,还可以防止脚本失控。本文还介绍了通过memoization技术取代递归的方法。

【原文标题】Speed up your JavaScript, Part 2
【原文作者】Nicholas C. Zakas

查看更多...

分类:脚本语言 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4110

提升JavaScript运行速度之循环篇

根据Nicholas的说法,有四种代码会拖慢脚本的运行,并最终导致脚本失控。分别是次数过多的同步循环、庞大的函数体、不恰当的递归和不合理的DOM调用。这篇着重讲第一个原因。最后给出了一个开发模式,替换传统的循环结构,可以完全避免脚本失控的状况发生。

原文标题:Speed up your JavaScript, Part 1
原文作者:Nicholas C. Zakas

查看更多...

分类:脚本语言 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3875

浏览器根据什么来判定脚本失控?

在Web开发的时候,经常会遇到的一种情况就是浏览器提示脚本运行时间过长,停止还是继续,无论你选择什么,相信你都会想尽一切办法让这个对话框远离你的用户们。可你是否知道,这些不同的浏览器究竟是如何判断,哪些脚本处于“失控”状态么?本文作者,就从Internet Explorer、Firefox、Safari、Chrome和Opera五种浏览器,分析了这个情况出现的原因。

原文标题:What determines that a script is long-running?
原文作者:Nicholas C. Zakas

查看更多...

分类:脚本语言 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4168

有趣的Javascript数组

本文是Rick Strahl在使用Javascript数组上的经验之谈,在一些细微的地方介绍了Javascript在处理数组上,相对于其他开发语言的不同之处,有些可能是我们自己想当然的事情,但实际上不是那么回事,呵呵。具体涉及到Javascript数组初始化、length、扩展属性等。

【原文】Javascript Array Fun
【作者】Rick Strahl
【译文】http://cuimingda.com/2009/01/javascript-array-fun.html

查看更多...

分类:脚本语言 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4236

flash wmode参数详解

在做web开发中可能会遇到flash遮挡页面中元素的情况,无论怎么设置flash容器和层的深度(z-index)也无济于事,现有的解决方案是在插入flash的embed或object标签中加入"wmode"属性并设置为wmode="transparent"或"opaque",但wmode属性到底是什么意义,为什么可以解决这个问题呢?

window mode(wmode)

wmode即窗口模式总共有三种,看看当年Macromedia官方的说法:

查看更多...

分类:网页设计 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4750

把你的名字刻到IE上

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"Window title"="你的名字"

将以上内容保存成reg文件,双击运行导入注册表,再打开IE看看,你的名字是不是在IE标题栏中了

查看更多...

分类:操作系统 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3920

onbeforeunload事件

说明:目前三大主流浏览器中firefox和IE都支持onbeforeunload事件,opera尚未支持。

用法:
 ·object.onbeforeunload = handler
 ·<element onbeforeunload = "handler" … ></element>

查看更多...

分类:脚本语言 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4965

Excel 2000高级筛选应用:筛选和查重

使用Excel 2000自带的高级筛选功能可以非常方便的对工作表中的数据进行筛选、查重,在菜单中依次选择"数据→筛选→高级筛选"即可打开筛选对话框:



为了方便下边说明,我们输入了一些数据做测试:

查看更多...

分类:操作系统 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 6614