<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>优化for循环实例-www.codefans.net</title>
<script type="text/javascript">
//每次都调用fibonacci()
function callMore(number)
{
var start=new Date();
var total=0;
for(var i=0;i<fibonacci(number);i++)
{
total +=i;
}
var end=new Date();
var duration=end-start;
alert("函数callMore()运行结果为:"+total+"|每次调用fibonacci()函数的运行时长:"+duration+"ms");
}
//仅第一次调用fibonacci()
function callOne(number)
{
var start=new Date();
var total=0;
var loopCounter=fibonacci(number);
for(var i=0;i<loopCounter;i++)
{
total+=i;
}
var end=new Date();
var duration=end-start;
alert("函数callOne()运行结果为:"+total+"|仅调用一次fibonacci()函数的运行时长:"+duration+"ms");
}
//计算斐波那契序列的函数
function fibonacci(number)
{
var n1=1;
var n2=1;
for(var i=0;i<number;i++)
{
var total=n1+n2;
n1=n2;
n2=total;
}
return n2;
}
//检测输入的数据是否正确
function checkData()
{
var number=parseInt(document.getElementById("number").value);
return number;
}
//调用callMore函数
function callFunMore()
{
var number=checkData();
callMore(number);
}
//调用callOne函数
function callFunOne()
{
var number=checkData();
callOne(number);
}
</script>
</head>
<body>
<h3>优化for循环实例</h3>
<hr style="border:1px solid #000000;" />
请输入一个整数:
<input type="text" id="number" name="number" />
<br />
<input type="button" id="more" name="more" value="查看每次调用fibonacci()函数的运行时长" οnclick="callFunMore();" />
<input type="button" id="one" name="one" value="查看仅调用一次fibonacci()函数的运行时长" οnclick="callFunOne();" />
</body>
</html>