继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

js笔记九之for,for-in循环

拉风的咖菲猫
关注TA
已关注
手记 311
粉丝 44
获赞 212

循环操作语句

循环: 重复做一件事情

for循环

// for(设置循环起始值;设置循环执行的条件;步长累加){//     循环体: 重复做的事情都在循环体中// }for(var i=0;i<5;i++){    console.log(i) // 0 1 2 3 4}console.log(i) // 5
var i=0for(;i<5;){ // 初始值可以在循环外声明,但不能省略分号,
    console.log(i) // 省略步长会陷入死循环,导致浏览器崩溃
    i++; // 步长累加可以放在循环体中}console.log(i)
for(var i = 0;i < 5;i++){    console.log(i);    continue;    // 结束本轮循环,继续执行下一轮: 循环体中continue后面的代码都不会再执行,它会直接的去执行步长,然后进入到下一轮
    // ...}console.log(i); // -> 5
for(var i = 0;i < 5;i++){    console.log(i);    break;    // 结束整个循环: 循环体中一旦遇到break,首先后面代码不执行了,而且步长累加也不执行了,循环都结束了
    // ...}console.log(i);  // -> 0

面试题

for(var i=1;i<10;i+=2){    if(i<5){
        i++;        continue;
    }else{
        i+=3;        break;
    }    console.log(i)
}console.log(i)  // -> 10

for - in循环

用来遍历(循环)对象键值对的

对象中有多少组键值对,我们的for in循环就遍历多少次(不一定)
每一次循环key这个变量存储的都是当前循环这组键值对的属性名

  • key存储的值都是字符串格式的(不管属性名是不是数字)

  • 在for in循环遍历的时候,大部分浏览器都是先把对象中的键值对进行排序(把数字属性名的排在前面,并且排列的时候按照数字有小到大排列[小数不算]),其次再把非数字的属性名按照之前编写的顺序排列,循环的时候按照重新排列的顺序依次遍历

var obj = {name:"lilei",age:18,1:"abc",3:"ABC",2:"xyz"}// -> 对象中有多少组键值对,我们的for in循环就遍历多少次(不一定)// -> 每一次循环key这个变量存储的都是当前循环这组键值对的属性名for(var key in obj){    console.log(key)  // -"string"  1,2,3,name,age
    console.log(obj.key) // undefined
    console.log(obj[key]) //每一次循环把key存储的值(当前遍历的属性名)获取到放在中括号中,获取obj中对应的属性的属性值}// 'key': 字符串key,属性名// key: 变量key,代表的是存储的值// obj['key']  obj.key: 属性名是key// obj[key]: 属性名不是key而是key变量存储的值



作者:uplyw
链接:https://www.jianshu.com/p/7bdf3f3143c8


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP