for-in语句和with语句、break和continue语句
for-in语句
for-in语句是一种精准迭代语句,可以用来枚举对象的属性,用以遍历一个对象的全部属性。
for…in声明用于对数组或者对象的属性进行循环操作;
for…in循环中的代码每执行一次,就会对数组的元素或对象的属性进行一次操作。
for-in的语法:
for (变量 in 对象)
{
执行代码
}
“变量”用来指定变量,指定的变量可以是数组元素,也可以是对象的属性。
实例1:
for (var propName in window){
console.log(propName);
}
在这个例子中,使用for-in循环来显示了BOM中window对象的所有属性。每次执行循环时,都会将window对象中存在的一个属性名赋值给变量propName。这个过程会持续到对象中的所有属性都被枚举一遍为止。
与for语句相似,控制语句中的var操作符也不是必需的。但是为了保证使用局部变量,更加推荐按照完整的语法结构来写。
实例二:
使用for…in数组来循环遍历数组;
<html>
<body>
<script type="text/javascript">
var x
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW" for (x in mycars)
{
console.log(mycars[x])
}
</script>
</body>
</html>

如果要迭代的对象的变量值为 null 或 undefined,for-in语句会抛出错误。ECMAScript5更正了这一行为;对这种情况不再抛出错误,而是不再执行·循环体。为了保证最大限度的兼容性,最好在使用for-in循环之前,先确认该对象的值不是null或undefined。
迭代语句又叫循环语句,声明一组要反复执行的命令,知道满足某些条件为止。循环语句通常用于迭代数组的值(因此而得名),或者执行重复算数任务。
break和continue语句
break 和 continue 语句用于循环中精确地控制代码的执行
- break语句, 会立即退出循环,强制继续执行循环 后面的语句;
- continue语句, 虽然也是立即退出循环,但是退出循环之后会从循环的顶部执行。(退出当前次数循环,继续执行剩余次数循环)
实例:
break 语句
var num = 0;
for (var i=1; i < 10; i++) {
if (i % 5 == 0) {
break;
}
num++;
}
alert(num)

这个例子中的for循环,将变量 i 由 1 递增到 10。在循环体内,有一个 if 语句检查变量 i 的值是否可以被 5 整除,如果可以被 5 整除(%求模操作符)。
如果是,则执行 if 语句中的break语句,退出循环。
变量num从0开始,用于记录循环执行的次数(计数器)。
在执行 break 语句退出循环之后,要执行的下一行代码是alert() 函数,结果显示4。
当变量 i 等于 5 时,循环总共执行了4次;而 break 语句的执行,导致了循环在 变量 num再次递增之前就退出了。
continue 语句
如果在这个代码中,将 break 语句换成 continue语句(continue语句虽然也是立即退出循环,但是退出循环之后会从循环的顶部执行)
运行for循环,将变量 i 由 1递增到 10 。通过 if 语句判断 i 是否可以被 5 整除,如果不可以整除就继续执行
如果满足条件,就执行 continue语句,退出当前次的循环不再执行 if 下面的代码,继续执行剩余次数循环
在本例中,遇到continue就跳出本次循环,直接跳到 i++
var num = 0;
for (var i=1; i < 10; i++) {
if (i % 5 == 0) {
continue;
}
num++;
}
alert(num);

with语句
with用于设置代码在特定对象中的作用域
with语法:
with(字符串) {
执行代码;
}
实例:
var sMessage = "hello";
with(sMessage) {
alert(toUpperCase());
}

在这个例子中,with语句用于字符串,所以在调用 toUpperCase() 方法时,解释程序将检查该方法是否本地函数。
如果不是,它将检查伪对象 sMessage,看它是否为该对象的方法。然后,alert输出了"HELLO",因为解释程序找到了字符串 "hello" 的toUpperCase() 方法。
注意:with 语句是运行缓慢的代码块,尤其是在已经设置了属性值时。大多数情况下,最好避免使用with语句。
for-in语句和with语句、break和continue语句的更多相关文章
- JavaScript If...Else、Switch、For、While、Break、Continue语句
一,JavaScript If...Else 语句 条件语句 通常在写代码时,您总是需要为不同的决定来执行不同的动作.您可以在代码中使用条件语句来完成该任务. 在 JavaScript 中,我们可使用 ...
- Javascript基础系列之(六)循环语句(break和continue语句)
break和continue语句对循环中的代码执行提供了更为严格的流程控制.break语句可以立刻退出循环,阻止再次执行循环体中的任何代码.continue语句只是退出当前这一循环,根据控制表达式还允 ...
- Java SE ---控制流程:break与continue语句
在java中,可以使用break和continue语句控制循环. 1. break语句:用于终止循环,就是跳出当前循环,执行循环后面的代码. . 2. continue语句:用于跳出当 ...
- Java跳出循环-break和continue语句
在实际编程中,有时需要在条件语句匹配的时候跳出循环.在Java里,由break和continue语句控制. “break”语句 “break”语句用来结束循环,即不再执行后边的所有循环. 示例:计算1 ...
- Matlb中break 和continue 语句
有两个附加语句可以控制while 和for 循环:break 和continue 语句. break 语句可以中止循环的执行和跳到end 后面的第一句执行,而continue 只中止本次循环,然后返回 ...
- JavaScript Break 和 Continue 语句
1.break:终止本层循坏,继续执行本次循坏后面的语句: 当循坏有多层时,break只会跳过一层循坏 2.continue:跳过本次循坏,继续执行下次循坏 对于for循环,continue执行后,继 ...
- 3.2.2 break 与 continue 语句
break 语句和 continue语句在while循环和for循环中都可以使用,并且一般常与选择结构结合使用.一旦break语句被执行,将使得break语句所属层次的循环提前结束.continue语 ...
- 【代码笔记】Web-Javascript-javascript break和continue语句
一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- break与continue语句
1.break:立即退出循环 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- for循环里面的break;和continue;语句
for循环里面的break;和continue;语句 break语句 哇,我已经找到我要的答案了,我不需要进行更多的循环了! 比如,寻找第一个能被5整除的数: for循环中,如果遇见了break语句, ...
随机推荐
- DOM练习(邓邓版)
先来图片: 今天直接粘代码: 下面是html: <h4>01.图片切换</h4> <img width = "100" src = "../ ...
- 第二周总结.Java
本学期开始学习Java课程了,首先我先说说学习Java的感觉吧,它不像C语言程序设计,但是又有语言开发的共同点.学Java语言重点是面向对象的程序设计,更加的适应生活需要和计算机开发的需要. 总的来讲 ...
- android adb logcat获取日志文件
一般情况,可以直接在电脑终端上输入logcat来查看手机运行日志,但是测试工作者为了抓取日志文件来给开发人员,需要把日志导出到特定文件中.如下文. 以小米1s手机为例 步骤1:打开第一个终端窗口 ad ...
- 【LGR-065】洛谷11月月赛 III Div.2
临近$CSP$...... 下午打了一发月赛,感觉很爽. 非常菜的我只做了前两题......然而听说前两题人均过...... 写法不优秀被卡到$#1067$...... T1:基础字符串练习题: 前缀 ...
- linux查看端口是否被占用
1.使用lsof lsof -i:端口号查看某个端口是否被占用 2.使用netstat 使用netstat -anp|grep 80
- gomock
参考 使用Golang的官方mock工具--gomock
- k3 cloud在站点中新增用户
1.进去金蝶云企业平台: 网址:https://cloud.kingdee.com/pt/ 2.进入控制台页面,我的产品下面选择添加用户 去cloud平台新增并同步用户注册信息 3.去管理中心更新用户 ...
- Ubuntu下通过apache建立虚拟主机
一个搞前端交互的,总会遇到这样那样的,不需要写代码去解决的问题,怎么搞?答:只能去大海里捞,问题很明确但答案不一定靠谱,因为回答的人不用去考虑你是否会给自己系统搞崩溃. 那么我只能把自己经过验证的答案 ...
- Ubuntu 18.04机器学习环境安装
安装net-tools sudo apt install net-tools #查看IP ifconfig #ssh服务是否安装 ps -e | grep ssh #安装openssh-server ...
- 继续死磕python
一.数据运算 算术运算 比较运算 赋值运算 逻辑运算 成员运算 身份运算 位运算 其中左右移运算是逻辑左右移即缺失位补0,而算数右移缺失补符号位(注意逻辑运算都是补码运算即都取补码再运算,然后结果也是 ...