var iNum = 0;
outmost:
for(var i=0; i < 10; i++){
for(var j=0; j < 10; j++){
if(i==5 && j ==5){
break outmost;
}
iNum++;
}
} alert(iNum);
以上一小段程序中,根据我的理解break跳出来跳到outermost后再重新执行循环,运行到i==5&&j==5处再跳出来……这不久成死循环了吗……可是实际运行结果却是55;这是为什么呢?请大牛们指点一下,非常感谢!
我是看的《Javascript高级程序设计》,该例子在第49页。
outmost:
for(var i=0; i < 10; i++){
for(var j=0; j < 10; j++){
if(i==5 && j ==5){
break outmost;
}
iNum++;
}
} alert(iNum);
以上一小段程序中,根据我的理解break跳出来跳到outermost后再重新执行循环,运行到i==5&&j==5处再跳出来……这不久成死循环了吗……可是实际运行结果却是55;这是为什么呢?请大牛们指点一下,非常感谢!
我是看的《Javascript高级程序设计》,该例子在第49页。
解决方案 »
- 急求解!!!JavaScript中如何使用IHTMLWindow2接口???
- 新手,求懂得css和js的高手进
- 在线等:急求jquery页面加载后,事件对象无效问题!
- Extjs 4.0 Tree 问题
- 关于事件触发问题,请高人指点迷津!
- 一个简单的问题,请高手帮忙
- JavaScript极速狂飙:组合拼接字符串的效率(meizz)
- 搜集好的免费电子书网站(关于编程技术和理论,尤其是包含有COM+,XML,DHTML或javascript等的)!大家分享!
- 向前辈们求教,帮帮我这个新来的朋友吧!!!
- 请高手指点:如何打印网页上的图片?
- 請教一段javascript代碼
- 图片路径对,但是在有的浏览器下中间的图片就是显示不出来
http://www.w3school.com.cn/js/as_js_statements_break-continue.asp
break outmost 就是 跳出那个FOR咯...
另外.. 天下一大抄. 谁抄的谁. 谁也不知道
break
Terminates the current while or for loop and transfers program control to the statement following the terminated loop.
实现版本 Navigator 2.0, LiveWire 1.0 语法
break
break label
Argument
label Identifier associated with the label of the statement. 描述
The break statement can now include an optional label that allows the program to break out of a labeled statement. This type of break must be in a statement identified by the label used by break.
The statements in a labeled statement can be of any type.
var iNum = 0; outmost:
for(var i=0; i < 10; i++){
for(var j=0; j < 10; j++){
if(i==5 && j ==5){
break outmost;
}
iNum++;
}
}
如果只有break,那么就应该跳出j的循环,但是如果加上break outmost; 的意思就是
不但跳出j的循环,还要跳出i的循环,也就是结束所有的循环,所以iNum++执行了55次
所以alert(iNum)= 55.