知识大全 解析js原生方法创建表格效率测试
Posted 表格
篇首语:学向勤中得,萤窗万卷书。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 解析js原生方法创建表格效率测试相关的知识,希望对你有一定的参考价值。
对于创建表格本文提到的算法共有 种 分别是直接操作dom 借助createDocumentFragment 借助js的原生表格操作方法我们先看一下三种算法以及在各种浏览器下的表现 第一种 直接操作dom
复制代码 代码如下: <!DOCTYPE HTML PUBLIC " //W C//DTD HTML Transitional//EN" " < xmlns=" <head> <meta equiv="Content Type" content="text/; charset=utf " /> <title>New Web Project</title> </head> <body> <script> microtime = function(get_as_float) var now = new Date() getTime() / ; var s = parseInt(now ); return (get_as_float) ? now : (Math round((now s) * ) / ) + + s; var m = microtime(true); var table = document createElement("table"); table border = ; var tbody = document createElement("tbody"); for(var i = ; i < ; i++ ) var tr = document createElement("tr"); for(var j = ; j < ; j++ ) var td = document createElement("td"); td appendChild(document createTextNode("cell "+i+" "+j)); tr appendChild(td); tbody appendChild(tr); table appendChild(tbody); //chrome //ie //ie //ie //ie //firefox //opera //safari document body appendChild(table); var m = microtime(true); alert(m m ); </script> </body> </>第二种 借助借助createDocumentFragment
复制代码 代码如下: <!DOCTYPE HTML PUBLIC " //W C//DTD HTML Transitional//EN" " < xmlns=" <head> <meta equiv="Content Type" content="text/; charset=utf " /> <title>New Web Project</title> </head> <body> <script> microtime = function(get_as_float) var now = new Date() getTime() / ; var s = parseInt(now ); return (get_as_float) ? now : (Math round((now s) * ) / ) + + s; var m = microtime(true); var table = document createElement("table"); table border = ; var tbody = document createElement("tbody"); var fragment = document createDocumentFragment(); for(var i = ; i < ; i++ ) var tr = document createElement("tr"); for(var j = ; j < ; j++ ) var td = document createElement("td"); td appendChild(document createTextNode("cell "+i+" "+j)); tr appendChild(td); fragment appendChild(tr); tbody appendChild(fragment); table appendChild(tbody); //chrome //ie //ie //ie //ie //firefox //opera //safari document body appendChild(table); var m = microtime(true); alert(m m ); </script> </body> </>第三种 借助js的原生表格操作方法
复制代码 代码如下: <!DOCTYPE HTML PUBLIC " //W C//DTD HTML Transitional//EN" " < xmlns=" <head> <meta equiv="Content Type" content="text/; charset=utf " /> <title>New Web Project</title> </head> <body> <script> microtime = function(get_as_float) var now = new Date() getTime() / ; var s = parseInt(now ); return (get_as_float) ? now : (Math round((now s) * ) / ) + + s; var m = microtime(true); var table = document createElement("table"); table border = ; var tbody = document createElement("tbody"); table appendChild(tbody); for(var i = ; i < ; i++ ) tbody insertRow(i); for(var j = ; j < ; j++ ) tbody rows[i] insertCell(j); tbody rows[i] cells[j] appendChild(document createTextNode("cell "+i+" "+j)); var tr = document createElement("tr"); tbody appendChild(tr); //chrome //ie //ie //ie //ie //firefox //opera //safari document body appendChild(table); var m = microtime(true); alert(m m ); </script> </body> </>以上可以看出用原生的js创建表格效率最好 借助createDocumentFragment优势不是很大(并不像网上说的那么明显) 借助insertRow和insertCell等在ie 下效率太低 不建议使用 对第一种算法简单的优化了一下
复制代码 代码如下: <!DOCTYPE HTML PUBLIC " //W C//DTD HTML Transitional//EN" " < xmlns=" <head> <meta equiv="Content Type" content="text/; charset=utf " /> <title>New Web Project</title> </head> <body> <script> microtime = function(get_as_float) var now = new Date() getTime() / ; var s = parseInt(now ); return (get_as_float) ? now : (Math round((now s) * ) / ) + + s; var m = microtime(true); var table = document createElement("table"); table border = ; var tbody = document createElement("tbody"); var i = ; while(i ) var tr = document createElement("tr") j = ; while(j ) var td = document createElement("td"); td appendChild(document createTextNode("cell "+i+" "+j)); tr appendChild(td); tbody appendChild(tr); table appendChild(tbody); //chrome //ie //ie //ie //ie //firefox //opera //safari document body appendChild(table); var m = microtime(true); alert(m m ); </script> </body> </> cha138/Article/program/Java/JSP/201311/19826相关参考
JS判定是否原生方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!这篇文章介绍了js判定是否原生方
js可以利用dom非常轻松的就可以遍历一个表格当然只要是dom中有的所有对象都可以通过js来访问和处理 复制代码代码如下:cha138/Article/program/Java/J
左侧是表头的JS表格控件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!左侧是表头的表格数据展现&n
知识大全 js原生appendChild的bug解决心得分享
js原生appendChild的bug解决心得分享 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
原生JS实现表单checkbook获取已选择的值 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!本文
前台: 代码 <%@PageLanguage=C#AutoEventWireup=trueCodeFile=DefaultaspxcsInherits=_Default%>
JAVA高级:js动态创建控件的方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! functi
使用JS创建虚拟目录,并引导进入浏览 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!使用JS可以替代
知识大全 JS动态创建Table,Tr,Td并赋值的具体实现
JS动态创建Table,Tr,Td并赋值的具体实现 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
JBuilder2005单元测试之创建测试固件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在