摘要: 大家都知道jQuery(JQ)是基于js的代码封装,性能肯定不如原生js好,尤其是DOM操纵部分性能差异明显。今天要研究的就是原生js和jQuery的DOM操作函数在主流浏览器中的性能差异究竟是多少,是否真的差距明显。测试平台:E5400+2G DDR2+Windows 7 SP1 32bit参与测试的浏览器有:FireFox: 3.6.3IE6IE8Chrome: 10.0.648Safari: 5.0.1Opera: 10.01测试方法:对于一次处理一个对象的函数,循环执行3000次,对于批量处理函数,一次处理3000个对象。结果见下图,时间单位是毫秒:结果分析:大部分时候,原生js的确比 阅读全文
posted @ 2011-10-12 23:02 蝌蚪归来 阅读(722) 评论(0) 推荐(0) 编辑
摘要: 1.使用最新版本的jQueryjQuery的版本更新很快,你应该总是使用最新的版本。因为新版本会改进性能,还有很多新功能。下面就来看看,不同版本的jQuery性能差异有多大。这里是三条最常见的jQuery选择语句: $('.elem') $('.elem', context) context.find('.elem')我们用1.4.2、1.4.4、1.6.2三个版本的jQuery测试,看看浏览器在1秒内能够执行多少次。结果如下:可以看到,1.6.2版本的运行次数,远远超过两个老版本。尤其是第一条语句,性能有数倍的提高。其他语句的测试,比如.att 阅读全文
posted @ 2011-10-12 22:59 蝌蚪归来 阅读(839) 评论(0) 推荐(1) 编辑
摘要: var arr=[]; for(var i=0;i<100;i++){ arr[i]=i; } arr.sort(function(){ return 0.5 - Math.random() }) var str=arr.join(); alert(str);代码解释:var arr=[];//新建一个数组 这是大家推荐的方式。//而不推荐使用 var arr=new Array();这句不用解释了。for(var i=0;i<100;i++){ arr[i]=i; }//循环给数组赋值关键... 阅读全文
posted @ 2011-10-12 14:40 蝌蚪归来 阅读(285) 评论(0) 推荐(0) 编辑
摘要: javascript是比较容易学的。但是,对于这门语言需要有一些值得注意的地方。本文将指出javascript编程中可能犯过的10个错误错误1-使用全局变量如果你刚开始javascript编程,可能会觉得全局变量很好用。事实上,刚开始javascript编程,你可能不知道使用全局变量会带来什么麻烦。在同一个页面中,全局变量可以在任何内嵌的javascript代码段中或是该页面加载的不同的js文件中,都能访问到。这听起来很强大,是吗?这就使得全局变量可以随时随地的被修改赋值。事实上这样很糟!这样做会导致变量在意料之外被修改重写。假设有一个网店,需要用javascript计算并显示购物车所有商品的 阅读全文
posted @ 2011-10-12 11:40 蝌蚪归来 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 一、使用自定义选择器jQuery允许我们在css选择器的基础上定义自定义选择器来让我们的代码更简洁:$.expr[':'].mycustomselector=function(element, index, meta, stack){//element- DOM元素//index - 堆栈中当前遍历的索引值//meta - 关于你的选择器的数据元//stack - 用于遍历所有元素的堆栈//包含当前元素则返回true//不包含当前元素则返回false};//自定义选择器的应用:$('.someClasses:test').doSomething();下面让我们来 阅读全文
posted @ 2011-10-12 11:20 蝌蚪归来 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 将jquery对象缓存起来在for循环中,不要每次都要访问数组的length属性,我们应该先将对象缓存进一个变量然后再操作,如下所示:复制代码代码如下:var myLength = myArray.length;for (var i = 0; i < myLength; i++) {// 要做的事}在循环外使用append进行DOM操作是有代价的,如果需要往DOM中添加大量元素,你应该一次批量完成,而不是一次一个。复制代码代码如下:// 别这样$.each(reallyLongArray, function(count, item) {var newLI = '<li> 阅读全文
posted @ 2011-10-12 11:18 蝌蚪归来 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 如果说jQuery一个不好的地方的话,那就是他的入门门槛太低了。因此吸引了很多没有一定JavaScript知识基础当然人。造成的局面就是,一方面,这样很好,而在另一方面,也造成一种混乱的,更直接的说是令人生厌的代码(其中有些自己也写过)。但是没关系,写出让你的祖母惊愕的代码是你走向专业的开始。关键是要越过这一步,这也是本文今天要讨论的。1. 返回jQuery对象的方法记住大多数方法都会返回jQuery对象很关键。这一特性十分有用,允许我们使用连接特性,也是我们经常利用的。$someDiv.attr('class','someClass').hide().html 阅读全文
posted @ 2011-10-12 11:05 蝌蚪归来 阅读(352) 评论(1) 推荐(0) 编辑
摘要: 1.总是从ID选择器开始继承以下是引用片段:<div id="content"><form method="post" action="#"><h2>交通信号灯</h2><ul id="traffic_light"><li><input type="radio" class="on" name="light" value="red" /> 红色</ 阅读全文
posted @ 2011-10-12 11:00 蝌蚪归来 阅读(569) 评论(0) 推荐(0) 编辑
摘要: 展开缩写展开缩写功能将类似CSS的选择器转换为XHTML代码。术语“缩写”可能会有点儿难以理解。为什么不直接称之为“CSS选择器”呢?嗯,首要原因是语义化:“选择器”意为选择一些东西,但是在这里我们事实上是生成一些东西,是写一个长代码的较短的替代。其次,它只是使用真实的CSS选择器语法的一个小的子集,并添加了一些新的操作符。这里是一个支持的属性和操作符的列表:E元素名称(div, p);E#id使用id的元素(div#content, p#intro, span#error);E.class使用类的元素(div.header, p.error.critial). 你也可以联合使用class和i 阅读全文
posted @ 2011-10-10 14:09 蝌蚪归来 阅读(891) 评论(0) 推荐(0) 编辑
摘要: 1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容publicclassReadFromFile{/***以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。*/publicstaticvoidreadFileByBytes(StringfileName){Filefile=newFile(fileName);InputStreamin=null;try{System.out.println("以字节为单位读取文件内容,一次读一个字节:");//一次读一个字节in=newFileInputStream(file);intte 阅读全文
posted @ 2011-09-26 15:08 蝌蚪归来 阅读(392) 评论(0) 推荐(0) 编辑