js 九大语句

目录

一、if 语句

二、do...while 语句

三、while 语句

四、for 语句

五、for...in 语句

六、label 语句

七、break 和 continue 语句

八、with 语句

九、switch 语句


一、if 语句

if (i > 10) {
    console.log("这是一个大于10的数");
} else if (i < 0) {
    console.log("这是一个小于0的数");
} else {
    console.log("这是一个大于0且小于10的数");
}

二、do...while 语句

var i = 0;
do{
    i++;
} while (i < 10);
console.log(i);       // 10

三、while 语句

var i = 0;
while (i < 10) {
    i++;
};
console.log(i);       // 9

四、for 语句

let arr = [1,2,3,4,5,6]
for(let i = 0; i < arr.length; i++){
    // ...
}

在 for 循环语句中,设置循环变量的那部分是一个父作用域,而循环体内部是一个单独的子作用域。

for (let i = 0; i < 3; i++) {
  let i = 'abc';
  console.log(i);
}
// abc
// abc
// abc

for 循环中作用域的问题:

var a = [];
for (var i = 0; i < 10; i++) {
  a[i] = function () {
    return i;
  };
}
console.log(a[0]());                // 10

上面代码中,变量 i 是 var 命令声明的,在全局范围内都有效,所以全局只有一个变量 i。每一次循环,变量 i 的值都会发生改变,而循环内被赋给数组 a 的函数内部的 console.log(i),里面的 i 指向的就是全局的 i。也就是说,所有数组 a 的成员里面的 i,指向的都是同一个 i,导致运行时输出的是最后一轮的 i 的值,也就是 10。而使用 let 声明变量会形成块级作用域,该变量仅在 let 块级作用域内有效,这样就能避免这一问题了。

var a = [];
for (let i = 0; i < 10; i++) {
  a[i] = function () {
    return i;
  };
}
console.log(a[0]());                // 0

五、for...in 语句

for...in 语句是一种精准的 迭代 语句,可以用来 枚举 对象的属性。

注意:如果对象是null,或者undefined,for...in 语句会报错,所以使用时要先检查一下对象的值是不是null或undefined。

let obj = {
    people: ['marry','jary','lily'],
    time: new Date().getTime(),
    address: 'beiJing'
}
if(obj){
    // 如果对象是null,或者undefined,for...in 语句会报错,所以使用时要先检查一下。
    for (item in obj) {
        console.log(item);
        // people
        // time
        // address
    }
}

六、label 语句

了解:Javascript中的Label语句 - 安静的女汉纸 - 博客园

七、break 和 continue 语句

  • break 语句:会强制退出并结束 “当前循环”。或者退出一个 switch 语句。
    • 通常用于 for、while、do…while 循环语句 或者 switch 条件语句中。
  • continue 语句:会退出 “本次循环”,进入 “下一次循环”。
    • continue 语句只能应用在 while、for 或者 do…while 循环语句中。
    • 当 continue 语句中止本次循环,如果循环条件的结果是 false ,那就退出循环,这个时候就不会执行下一次循环了。
// break
let num = 0;
for (let i = 0; i < 10; i++) {
    if (i % 5 == 0) {
        break;
    }
    num++;
}
console.log(num);       // 4




// continue
let num = 0;
for (let i = 0; i < 10; i++) {
    if (i % 5 == 0) {
        continue;
    }
    num++;
}
console.log(num);       // 8

八、with 语句

弊端:耗性能。

了解:javascript中with语句的用法 - 特雷西one - 博客园

九、switch 语句

switch(expression){
    case value: statement
        break;
    case value: statement
        break;
    default: statement
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值