2012年2月19日

频繁一次性追加新节点到页面中,可以先创建一个DocumentFragment对象,然后将要追加的DOM对象都append到此对象中,最后添加到DOM结构中。此种方法效率比一个个节点追加到DOM结构中效率来的高。以下是个测试示例

 1 <html>
 2     <head>
 3         
 4         <script type="text/javascript">
 5             function oraAdd(){
 6                     var d  = new Date();
 8                     for (var i = 0; i < 10000; i++) {
 9                         var para = document.createElement("p");
10                         para.appendChild(document.createTextNode("Paragraph " + i));
11                         document.body.appendChild(para)
12                     }
13                     console.log(new Date()-d);
14                 
15             }
16             function fragmentAdd(){
17                     var d  = new Date();
18                     var fragment = document.createDocumentFragment(); //创建createDocumentFragment对象
20                     for (var i = 0; i < 10000; i++) {
21                         var para = document.createElement("p");
22                         para.appendChild(document.createTextNode("Paragraph " + i));

23                         fragment.appendChild(para);
24                     }
25                     
26                     document.body.appendChild(fragment);
27                     console.log(new Date()-d);
28             }
29             
30         </script>
31         
32     </head>
33     <body>
34         
35         <input type="button" value="增加1" onclick="oraAdd()"></input>
36         <input type="button" value="增加2" onclick="fragmentAdd()"></input>
37     </body>
38 </html>

 

 

posted @ 2012-02-19 14:06 刘轶屹 阅读(108) 评论(0) 编辑

2012年2月9日

 1.splice(start,[,length,newValue...])

     对数组中某索引范围进行删除

1 //声明数组对象
2 var myArray = ["a", "b", "c", "d", "e"];
3 //从数组索引2的位置开始删除2项并在索引2位置中插入x,y,z
4 myArray.splice(2,2,"x","y","z");
5 //最终数组:["a","b","x","y","z","e"] 

 2.reverse

     对数组进行倒序排序

1 //声明数组对象并初始化
2 var myArray = [33,3,333];
3 //数组降序排序
4 myArray.reverse();
5 //结果:[333,33,3];

 3.sort([fun])

    对数组进行排序,与reverse不同的点在于在sort方法可进行升序和降序排序方式。当要进行数组中的数字进行排序时,必须传入自定义函数,否则无效。当对字母进行排序时,无需传入自定义函数,对字母进行排序是按ASCII码进行排序

注: 以下代码中的sortFunc方法中的返回值有3种情况

     1.返回值大于0,a>b

     2.返回值小于0,a<b

     3.返回值等于0,a=b

//声明数组对象并初始化
var myArray = [33,3,333];
//数组升序排序

myArray.sort(sortFunc);

 

//结果:[3,33,333]

//自定义排序方法
function sortFunc(a,b){
     return a-b;
}

 

 

 

 

posted @ 2012-02-09 14:00 刘轶屹 阅读(144) 评论(0) 编辑

2012年2月7日

 1 <html>
 2 <head>
 3     <script type="text/javascript">
 4         window.onload =  function(){
 5             var obj =  document.getElementsByTagName("p");
 6             for(var i=-1,link;link=obj[++i];){
 7                 console.log(obj[i].innerHTML);
 8             }
 9         }
10     </script>
11 </head>
12 <body>
13     <p>a</p>
14     <p>b</p>
15     <p>c</p>
16     <p>d</p>
17     <p>e</p>
18 </body>
19 </html>

今天无意中看到此for循环思路,感觉不错,特分享下.....知道的千万别喷哈

posted @ 2012-02-07 16:14 刘轶屹 阅读(167) 评论(0) 编辑

公告

导航

统计