没有合适的资源?快使用搜索试试~ 我知道了~
JavaScript运行时间过长是因为函数内包含了过多的循环。这篇文章主要介绍了jsp测试函数的运行速度,需要的朋友可以参考下。
资源推荐
资源详情
资源评论
jsp测试函数的运行速度方法测试函数的运行速度方法
JavaScript运行时间过长是因为函数内包含了过多的循环。这篇文章主要介绍了jsp测试函数的运行速度,需要
的朋友可以参考下。
通常我们需要对函数进行优化,一般的做法是开始的时候获得时间,结束的时候再获得一次时间,两次时间相减就能到到花费
的时间。而函数运行速度之快,基本上都是毫秒级的。
下面给出的函数就是就此准备的。
// 时间转为时间戳(毫秒)
function time2stamp(){
var d = new Date();
return Date.parse(d)+d.getMilliseconds();
}
用法:
var t1 = time2stamp();
// 比较各游览器的DOM运行速度。
var divs = document.getElementByTagName("div");
var t2 = time2stamp();
alert("耗时:" + (t2 - t1) + " 毫秒");
新的方法:
var time1 = new Date
// 比较各游览器的DOM运行速度。
var divs = document.getElementByTagName("div");
alert("耗时:" + (new Date - time1) + " 毫秒");
测试各种循环的效率,for...in这样慢的循环就不测了!
<!doctype html>
<html dir="ltr" lang="zh-CN">
<head>
<meta charset="utf-8"/>
<title>类</title>
<script type="text/javascript" charset="utf-8">
window.onload = function(){
for (var i=0, elm; i<4000; i++) {
elm = document.createElement("div");
elm.innerHTML = "第一重div<div>第二重div<div>第三重div</div></div>";
document.body.appendChild(elm);
}
document.getElementById("start-test").onclick = startTest;
var uuid = 0;
function startTest() {
var divs = document.getElementsByTagName("div");
var time1 = new Date();
var i = -1, n = divs.length;while (++i < n) {
divs[i].uuid = uuid++;
}
document.getElementById("time-1").innerHTML = new Date() - time1;
var time2 = new Date();
var i = divs.length; while (--i >= 0) {
divs[i].uuid = uuid++;
}
document.getElementById("time-2").innerHTML = new Date() - time2;
var time3 = new Date();
for (var i=0, n=divs.length; i<n; i++) {
divs[i].uuid = uuid++;
}
document.getElementById("time-3").innerHTML = new Date() - time3;
var time4 = new Date();
for (var n = divs.length - 1; n >= 0; n--) {
divs[n].uuid = uuid++;
}
document.getElementById("time-4").innerHTML = new Date() - time4;
var time5 = new Date();
资源评论
weixin_38609401
- 粉丝: 5
- 资源: 937
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功