前端学习Day29

一、小数的问题

1. 现象

    - 明明只有一位小数,但是最后出来很多位

    - 0.1 + 0.7 = 0.799999999999999

    - 59.999999999999999 不小于 60

    - 诸如此类问题

2. 原因

    - 计算机最终执行或识别的符号只有0和1,二进制

    - 计算机中有一套完善的转换机制,所有内容,不管是文字,字符,任何数据,图片,声音,视频,最终都会被解析成二进制

    - 计算机对于小数的计算,会产生误差

 

3. 解决

    - 主动保留n为小数,得到数据类型是字符

        - ` num = num.toFixed(n); `

    - 转成数值

        - ` num = Number(num); `

二、三目运算符(三元,表达式)

1. 语法

    - `条件 ? 条件为真,值1 : 条件为假,值2`

2. 注意

    - 三目其实就是一种简写方式,如果不能简写,那就不用三目

    - 三目是个表达式,表达式最终会计算出一个值

3. 应用

    ```js

    var n = 16;

    var m = n>10 ? n.toString() : "0"+n;

    console.log(m);

    ```

 三、逻辑运算符的高级用法

- 所有的隐式类型转换,仅仅发生在该数据被使用时,该数据还是原本的内容

用到的隐式类型转换是数值转布尔:非0为true,0为false

- `||`

    - 基础规则

        - 或的两边只要出现一个true就是true

        - 如果两边都是false,就是false

 

    - 原理

        - 如果左侧是true,那么就确定 或 的结果了,不再向右检测

        - 如果左侧是false,不能确定结果,需要继续向右检测,不管右侧是啥,结果都停在右侧了

- `&&`

    - 基础规则

        - 或的两边只要出现一个false就是false

        - 如果两边都是true,就是true

    - 原理

        - 如果左侧是false,那么就确定 且 的结果了,不再向右检测

        - 如果左侧是true,不能确定结果,需要继续向右检测,不管右侧是啥,结果都停在右侧了

- `!`

    - 规则:取反

    - 如果原值为true,那么当"!"的个数为奇数时结果为false,为偶数时结果为true.

四、循环结构

1. 程序的三大结构

    - 顺序:代码自上而下,按顺序执行

    - 分支:根据指定的条件,选择不同的过程执行

    - 循环:重复

 

2. 循环的意义

    - 循环的意义是什么?

        - 节省操作,减少代码冗余

 

3. 循环的三要素

    - 计数器的创建

    - 执行条件(停止条件)的设定

    - 计算器的改变

 

4. 循环语句

    - 配合指定的语句,这个语句,叫循环语句

    - `while`

        - 语法while(){}

                     while       语句名

                        ()          执行条件(停止条件)

                        {}          重复执行的内容(循环体)

        ```js

        var i = 0;

        while( i<10 ){

            document.write("hello world<br>");

            i++;

        }

        ```

 

    - `do while`

        - 语法do{}while()    或      do{}while(){}

                     do      语句名的一部分

                       {}      do的执行语句(循环体)

                    while   语句名的另一部分

                       ()      执行条件(停止条件)

                       {}      可选,while的执行语句(不是循环体,循环结束后执行)

        ```js

        var i = 0;

        do{

            console.log(i);

            i++;

        }while(i < 10){

            console.log("循环结束了");

        }

        ```

    注:千万不要把计数器的改变,放在while的执行语句内

    - while和do-while的区别

        - do-while语句比while语句多执行一次,while能解决的问题do-while都能解决,do-while能解决的问题,while不一定能解决

 

 

5. 注意

    - 计数器的改变最好放在循环体的最后,除非特殊需要

    - 如非特殊需要,千万不能在循环中额外改变计数器

    - 循环,最好理解执行过程,不要硬记,因为还有循环的嵌套

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值