二,JavaScript的循环控制

一,java和JavaScript的关键字对比

java:

  • 迭代:for,foreach(增强型for循环),do…while,while…do
  • 判断:if…else,switch
  • 关键字:return,break,continue

JavaScript

  • 迭代:es6前:for,foreach(对象的属性的),for…of(es6及之后)do…while,while…do
  • 判断:if…else,switch
  • 关键字:return,break,continue
  • ( ps:代码块里只能用break,不能用continue)

二,具体语法

1.for循环

      // for循环
          var array = [1, 2, 3, 4, 5]
        for (var i = 0; i < array.length; i++) {
            console.log("下标索引:",i+"的值为 ",array[i]);
        }
      // 输出结果:
     下标索引: 0的值为  1
     下标索引: 1的值为  2
     下标索引: 2的值为  3
     下标索引: 3的值为  4
     下标索引: 4的值为  5
       // 增强型for循环
       // j是对象的属性
        for (var j in array) {
            // j不是数组下标,j的类型是string,值为0-4
            console.log("j的类型为:",typeof j , "j的索引为:" , j)
        }
       // 输出结果:
       j的类型为: string j的索引为: 0
       j的类型为: string j的索引为: 1
       j的类型为: string j的索引为: 2
       j的类型为: string j的索引为: 3
       j的类型为: string j的索引为: 4
   var object = ["name:" + "kola", "age:" + "10"]
        for (var l in object) {
            console.log("l的类型为:", typeof l, ",l的索引为:" + l,",l的值为:",object[l])
        }
  // 输出结果
  l的类型为: string ,l的索引为:0 ,l的值为: name:kola
  l的类型为: string ,l的索引为:1 ,l的值为: age:10
  //es6新增for-of,跟java里面的for-in是一样的
        for (var k in array) {
            console.log("k的类型为:", typeof k + ",k的值为 ", array[k])
        }
 // 输出结果
k的类型为: string,k的值为  1
k的类型为: string,k的值为  2
k的类型为: string,k的值为  3
k的类型为: string,k的值为  4
k的类型为: string,k的值为  5

2.while循环

   // do-while,while-do
   // do无论何种情况都会默认执行一次,然后进入循环条件判断,因为这里返回是false,所以总共只执行一次
   do {
       console.log("1111111111")  
      }while ("")  
  // 循环条件判断为false,所以执行0次
   while (NaN){
       console.log("2222222")  
             }

3.switch:

  • switch在比较的时候,是使用的===,需要类型一致
  • js的switch用法不太严谨,case后接任何的类型都可以,不像java有限制要是常量
// 这里的输出结果是“1111”,如果把括号里面的1双引号引起来,就表示类型变成string,就匹配不上了,只能输出默认值
  switch (1) {
            case 1:
                console.log("1111")
                break;
            case true:
                console.log(true)
                break;
            case undefined:
                console.log("undefined")
                break
            case NaN:
                console.log("NaN")
                break;
            default:
                console.log("未匹配上")
                break;
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值