break 语句
中断当前循环,或和 label 一起使用,中断相关联的语句。 break [label];可选的 label 参数指定断点处语句的标签。 说明
通常在 switch 语句和 while、for、for...in、或 do...while 循环中使用 break 语句。 最一般的是在 switch 语句中使用 label 参数,但它可在任何语句中使用,无论是简单语句还是复合语句。 执行 break 语句会退出当前循环或语句,并开始脚本执行紧接着的语句。示例
下面的示例说明了 break 语句的用法。function BreakTest(breakpoint){
var i = 0;
while (i < 100)
{
if (i == breakpoint)
break;
i++;
}
return(i);
}
中断当前循环,或和 label 一起使用,中断相关联的语句。 break [label];可选的 label 参数指定断点处语句的标签。 说明
通常在 switch 语句和 while、for、for...in、或 do...while 循环中使用 break 语句。 最一般的是在 switch 语句中使用 label 参数,但它可在任何语句中使用,无论是简单语句还是复合语句。 执行 break 语句会退出当前循环或语句,并开始脚本执行紧接着的语句。示例
下面的示例说明了 break 语句的用法。function BreakTest(breakpoint){
var i = 0;
while (i < 100)
{
if (i == breakpoint)
break;
i++;
}
return(i);
}
解决方案 »
- 反正弦 精度
- 网站使用ajax调用数据对网站收录有影响吗
- 如何使用jquery移除CSS样式
- language="JScript" for=TANGER_OCX event="OnDocumentClosed()">的for=“”是什么意思?
- 如何用javaScript实现小写转化成中文大写??
- 请问各位大哥这个是什么意思?document.all.
- 延迟效果
- javascript取得某一目录下的文件列表?
- 从上一页传递一个字符串,如何用javascript扑获
- 如何在onclik之后谈出一个页面是连杰到某个资源的,就是不用a href,而是用javascript搞定
- 两个小问题?
- 我没有学过java,有一个程序我搞不定!
var key;
document.onkeydown=mykey;
function mykey()
{
key=window.event.keyCode;
}
var i=0;
var sBuf=0;while((i < 1000) && (key !=27))
{
i=i+1;
sBuf = sBuf + i;
}
alert(i);</script>
--------------------------------------------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</head>
<body>
<div id=ttText style="display:none">
程序运行中......<BR>
<span id=currentState></span> <button onclick="CANCLE = true;">停止</button><BR>
</div>
<button onclick="run_step1()" id=button1>开始</button>
<span id=result></span>
<script>
var i=0;
var sum =0;
var CANCLE = false;
var max = 1000000; //循环的终点
var step = 9999; //步长:选择合适的步长可以在响应能力和计算速度上获得比较好的折衷。
//(步长用9999而不是10000只是为了显示的时候好看,其实都一样)
var timeStart = "";
function run_step1()
{
if (i == 0)timeStart = new Date();
ttText.style.display="";
button1.style.display="none";
setTimeout("run_step2()",1);
CANCLE = false;
}
function run_step2()
{
if (CANCLE)
{
ttText.style.display="none";
button1.style.display="";
button1.value="继续";
return;
}
if (i == null)
{
//初始化
//注意:这里不能写var,因为循环变量和结果都为全局变量。
i = 1;
sum = 0;
run_step2();
}
else if (i<=max)
{
var endValue = i+step;
if (endValue >max) endValue = max+1;
for (j=i; j<endValue ; j++)
sum += j;
i+=step;
currentState.innerText = i;
result.innerText = "临时结果:"+sum;
setTimeout("run_step2()",0);
}
else
{
run_step3();
}
}
function run_step3()
{
ttText.style.display="none";
button1.style.display="";
button1.value="重新开始";
result.innerText = "最终结果"+sum+" 用时:"+(new Date-timeStart)/1000+"秒"
sum = 0;
i = 0;
}
</script>
</body>
</html>
--------------------------------------------------------------------配置低的机器把setTimeout的时间间隔设置大一点比较好。
我的问题是在使用按键window.event.keyCode的方法时,往往是while循环执行完了才能响应window.event.keyCode,因此keyCode在执行循环体中无法改变值,如果将key=window.event.keycode语句放在循环体中,会出现对象没找到的错误。
var key;
document.onkeydown=mykey;
function mykey()
{
key=window.event.keyCode;
}
var i=0;
var sBuf=0;
function myadd()
{
if((i < 1000) && (key !=27))
{
i=i+1;
sBuf = sBuf + i;
}
else
{
alert(i);
clearInterval(mydo);
}
}
mydo=setInterval(myadd,100);
</script>