firefox-chrome-ie

firefox-chrome-ie

有道 “Firefox在速度上暂时落后于chrome safari和opera。原因并不是Mozilla技术差,而是因为其他浏览器支持的javascript,只是Firefox的一个子集,有很多东西,被其他浏览器忽略了。
1)只有Firefox支持E4X:
E4X是一个javascript的附加标准,用于在javascript里简便快速的操作XML。有多方便?
2) 只有Firefox在逐步实现ECMAScript5:
ECMAScript5是下一代javascript标准,目前的Firefox已经包含了很多ECMAScript5的特性,而其他浏览器似乎并没有公布相关的计划。ECMAScript5是一个已经发布了的标准,和遥遥无期的HTML5比起来,实现ECMAScript5要务实得多。
3) Firefox在javascript和html的交互上更加优化:
HTML中部分属性,只有Firefox才能通过js去调用,其他浏览器只能写成静态html标签,目前浏览器脚本速度测试用的都是1999年的标准。10年前的标准不可能永远用下去。先实现标准,再进行速度优化,这才是正道。相信脚踏实地的Firefox可以走得更远。”

有说法:

1.HTML5不是遥遥无期,只是未到主流开发者使用。
话说DIV+CSS都不知道流行多少年了,但是好多网站还是用Table。也不怪得浏览器中IE使用率其高,因为Javascript 还不是用户浏览一般网站的核心障碍,开得舒心就行了,所以你们开发者就想着怎么给IE6 hack。是不是DIV+CSS?是不是XHTML Strict?是不是HTML5?关用户什么事。
应用比技术更重要一点。有了Gmail、Google Wave才用得着高速的Js解释功能,没有网银的话还是IE、Windows的世界。

2.为什么IE总是慢于其他浏览器:美国有多少人要求浏览器默认关闭javascript,再看看中国人,他妈连javascript是什么都不知道。

3.美国有多少人要求浏览器默认关闭javascript,再看看中国人,他妈连javascript是什么都不知道。

1
好文啊

二月 23rd, 2010正则性能

正则表达式

正则表达式

1
2
3
var r = /^\w+?([\.]?[a-zA-Z0-9\-]+)*?@[a-zA-Z0-9]+([-.][a-zA-Z0-9]+)*\.[a-zA-Z]+$/;
var s = r.test('asdfasdfasdfasdfasdfasdfasdfasdfasdsdffgggasdfa');
alert(s);

这个正则表达式导致浏览器死掉,包括chrome。
先记录在这,回头看看正则的实现,感觉好像是和编译原理有关的东西,可惜大学时的这堂课没有学好啊!

1
好文啊

十二月 13th, 2009javascript区别对象和数组

Javascript 语言精粹

Javascript 语言精粹

看《Javascript语言精粹》上看到的,挺有意思的,权当记录。

首先知道,我们的JavaScript中的数据很简洁的。只有 undefined, null, boolean, number,string,object。

Javascript中认为数组是一个对象,所以直接通过typeof是无法检测出是否是Array还是Object的,所以判断两者可以这样做:

1
2
3
var isArray = function(value){
return value && typeof value === 'object' && value.constuctor = Array;
}

但是在检测从不同的敞口(window)或 (frame)里构造的数组会有问题,douglas crockford给出了如下的解决方案:

1
2
3
var isArray = function(value){
return value && typeof value === 'object' && typeof value.length === 'number' && typeof value === 'function' && !(value.propertyIsEnumerable('length'));
}

所有的建议是如果你想要深入学习一门语言的时候,一定要看权威的著作!

2
好文啊

© 到永远,就不让你轻拳 | 行骏-IT Player | Powered by Wordpress | 备案中 |