第四天

作者: 晚月川 | 来源:发表于2020-03-08 08:45 被阅读0次

JS中的循环

循环一轮一轮的重复做某一件事(真实项目中一般应用于:循环一个集合或者控制循环处理的次数,每一轮循环都控制相关的事情执行一遍)

  • for循环
    • 设置初始值
    • 设置循环执行条件,控制循环次数
    • 每一轮循环结束后处理的事情[步长累加]
  • for in循环
  • for of循环 (ES6新增)
  • while循环
  • do while循环

循环体中可能出现的两个关键字

  • break 强制结束整个循环(循环体中一旦遇到break,整个循环都结束了,break下面代码不再执行,步长累计也不再执行)
  • continue 结束本轮循环 (循环体中一旦遇到continue,本轮循环结束,continue下面代码不在执行,但是步长累计会执行)

遍历(循环 / 迭代)数组中的每一项

因为数组有索引和length属性,所以我们能够知道循环次数,也能基于索引获取对应项,使用FOR循环就可以解决

```
var arr = [10, 20, 30, 40, 50];
    for (var i = 0; i < arr.length; i++) {
        // // arr.length = 5
        // // 第一轮循环 i=0
        // arr[0]
        // // 第二轮循环 i=1
        // arr[1]
        // // ....
        // // 第五轮循环 i=4
        // arr[4]
        // 每一轮循环i变量存储的值就是我们当前这一轮想获取数组中当前项的索引

        console.log(arr[i]);
    }
```

遍历对象中的每一个属性:我们无法直接获取到对象中有多少个属性(ES6中的Object.keys除外),也就无法知道循环多少次,所以无法使用FOR循环;真实项目中遍历对象我们基于FOR IN循环;

        ```
        var obj = {
        name: '珠峰',
        age: 10,
        teacher: '周老师',
        address: '北京市回龙观东大街'
        };
        for (var key in obj) {
        //=>创建变量(存储的是属性) in  对象
        //=>当前对象中有多少个可枚举的属性,就循环多少次
        //=>key变量存储的是每一次循环的属性名
        //=>obj[key]获取key变量对象属性名的属性值
        // 第一轮循环  key='name'  obj[key] => obj['name']
        // obj.key或者obj['key'] 获取属性名叫做key的属性值
        console.log(`本轮循环,属性名:${key},属性值:${obj[key]}`);
        } 
        ```

FOR IN遍历的时候,是优先按照从小到大的机制遍历数字属性的

     ```
     var obj = {
        name: '珠峰',
        age: 10,
        10: 100,
        0: 10
    };
    for (var key in obj) {
        // 0 10 name age
        console.log(`本轮循环,属性名:${key},属性值:${obj[key]}`);
    } 
    ```

JS的三部分

  • ECMEScript 3 / 6
  • DOM
    • document object model 文档对象模型(提供一系列的属性和方法,让我们能操作页面中的DOM元素->简单理解为操作页面中的HTML标签)
  • BOM

获取DOM元素

  • document.getElementById([ID]) 基于元素的ID获取到这个元素(一个元素对象)
  • document.body 获取页面中的BODY元素
  • document.getElementsByTagName([标签名]) 根据标签名获取到页面中(指定容器中)所有的元素标签集合 (一组元素集合)

基于JS获取到的DOM元素是“对象数据类型”值,里面包含很多浏览器自带的,用来操作元素的键值对

```
修改盒子中文字颜色样式的三种写法,哪一种可以?
let box = document.getElementById('box');
box.style.color = 'red';

let boxSty = box.style; //=>获取的是STYLE对应的对象  BBBFFF000
boxSty.color = 'red';

et text = box.style.color; //=>获取的是color初始值'',基本类型值,直接存在栈内存中
    text = 'red';
```

相关文章

网友评论

    本文标题:第四天

    本文链接:https://www.haomeiwen.com/subject/sknrdhtx.html