前端JavaScript

第四天

2020-03-08  本文已影响0人  晚月川

JS中的循环

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

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

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

因为数组有索引和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的三部分

获取DOM元素

基于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';
```
上一篇下一篇

猜你喜欢

热点阅读