【js】基础知识点--语句,break和continue,switch,with,for..in,do-while,while

一、break和continue语句,常用

break 语句会立即退出循环,强制继续执行循环后面的语句。而 continue 语句虽然也是立即退出循环,但退出循环后会从循环的顶部继续执行

var num = 0;
for (var i=1; i < 10; i++) {
    
    
 if (i % 5 == 0) {
    
    
 break;
 }
 num++;
}
alert(num); //4

for 循环会将变量 i 由 1 递增至 10。在循环体内,有一个 if 语句检查 i 的值是否
可以被 5 整除(使用求模操作符)。如果是,则执行 break 语句退出循环。另一方面,变量 num 从 0 开始,用于记录循环执行的次数。在执行 break 语句之后,要执行的下一行代码是 alert()函数,结果
显示 4。也就是说,在变量 i 等于 5 时,循环总共执行了 4 次;而 break 语句的执行,导致了循环在
num 再次递增之前就退出了

continue语句

var num = 0;
for (var i=1; i < 10; i++) {
    
    
 if (i % 5 == 0) {
    
    
 continue;
 } 
  num++;
}
alert(num); //8 

循环总共执行了 8 次。当变量 i 等于 5 时,循环会在 num 再次递增之前
退出,但接下来执行的是下一次循环,即 i 的值等于 6 的循环。于是,循环又继续执行,直到 i 等于
10 时自然结束。而 num 的最终值之所以是 8,是因为 continue 语句导致它少递增了一次,为5的时候退出一次,为10的时候也退一次,所以只有8次

二、switch语句,常用

switch 语句中的每一种情形(case)的含义是:“如果表达式等于这个值(value),则执行后面的
语句(statement)”。而 break 关键字会导致代码执行流跳出 switch 语句。如果省略 break 关键字,
就会导致执行完当前 case 后,继续执行下一个 case。最后的 default 关键字则用于在表达式不匹配前
面任何一种情形的时候,执行机动代码(因此,也相当于一个 else 语句)。
从根本上讲,switch 语句就是为了让开发人员免于编写像下面这样的代码:

if (i == 25){
    
    
 alert("25");
} else if (i == 35) {
    
    
 alert("35");
} else if (i == 45) {
    
    
 alert("45");
} else {
    
    
 alert("Other");
}

而与此等价的 switch 语句如下所示:

switch (i) {
    
    
 case 25:
 alert("25");
 break;
 case 35:
 alert("35");
 break;
 case 45:
 alert("45");
 break;
 default:
 alert("Other");
} 

三、with语句,了解即可
with 语句的作用是将代码的作用域设置到一个特定的对象中,定义 with 语句的目的主要是为了简化多次编写同一个对象的工作

var qs = location.search.substring(1);
var hostName = location.hostname;
var url = location.href; 

上面几行代码都包含 location 对象。如果使用 with 语句,可以把上面的代码改写成如下:
with(location){
var qs = search.substring(1);
var hostName = hostname;
var url = href;
}
在这个重写后的例子中,使用 with 语句关联了 location 对象。这意味着在 with 语句的代码块
内部,每个变量首先被认为是一个局部变量,而如果在局部环境中找不到该变量的定义,就会查询
location 对象中是否有同名的属性。如果发现了同名属性,则以 location 对象属性的值作为变量的值。
严格模式下不允许使用 with 语句,否则将视为语法错误。

四、for-in语句,了解即可
for-in 语句可以用来枚举对象的属性

for (var propName in window) {
    
    
 document.write(propName);
} 

for-in 循环来显示了 BOM 中 window 对象的所有属性。每次执行循环
时,都会将 window 对象中存在的一个属性名赋值给变量 propName。这个过程会一直持续到对象中的
所有属性都被枚举一遍为止。

五、do-while语句,了解即可
do-while 语句是一种后测试循环语句,即只有在循环体中的代码执行之后,才会测试出口条件。
换句话说,在对条件表达式求值之前,循环体内的代码至少会被执行一次

var i = 0;
do {
    
    
 i += 2;
} while (i < 10);
alert(i);
i=10

即i=2,i<10 走下一轮;i=4,i<10 走下一轮;i=6,i<10 走下一轮;i=8,i<10 走下一轮;i=10,不满足条件,退出,此时1已经是10

六、while语句,了解即可
while 语句属于前测试循环语句,也就是说,在循环体内的代码被执行之前,就会对出口条件求值。
因此,循环体内的代码有可能永远不会被执行,和if语句很像,不满足条件,不会执行

var i = 5;
while (i < 5) {
    
     
i += 2;
} 
alert(i);
i=undefined

猜你喜欢

转载自blog.csdn.net/weixin_49668076/article/details/129947335