码迷,mamicode.com
首页 > 其他好文 > 详细

for-in语句和with语句、break和continue语句

时间:2019-10-17 23:52:11      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:script   for   调用   bre   null   var   作用域   bsp   for-in循环   

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语句, 虽然也是立即退出循环,但是退出循环之后会从循环的顶部执行。

实例:

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再次递增之前就退出了。

如果在这个代码中,将 break 语句换成 continue语句(continue语句虽然也是立即退出循环,但是退出循环之后会从循环的顶部执行)

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语句

标签:script   for   调用   bre   null   var   作用域   bsp   for-in循环   

原文地址:https://www.cnblogs.com/nyw1983/p/11651099.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!