2020826日志邹瑞

学习日志

数据类型

五大数据类型

  1. number

  2. string

  3. boolean(专门表示判断结果的,当boolean类型作为判断条件的结论时使用.取值为true和false)

  4. undefined(声明了变量却未赋值,结果是undefined)

  5. null(空,常用于引用类型。专门由程序自动为一个变量赋初值,很少主动使用)

    检测数据类型

    typeof a

    注意:

    1. 中间需要空格

    2. 数组(Array)、对象(Object)、函数(Function)

      注意:使用typeof查看数据类型,这个三种类型得到的都是object

数据类型转换

隐式转换

  1. 什么是隐式转换?(无需程序员干预,程序自动完成的类型转换,当给定的数据类型和JS运算要求的数据类型不相符时,都会首先自动类型转换为规定的类型,再运行程序)

  2. 弱类型语言(声明变量时无需提前规定变量中存储数据的类型,一个变量先后可保存不同类型的数据,JS会根据自身的需要,隐式转化数据的类型)

  3. 数值型+字符串型==>字符串型(1+'2' ==> '12')

  4. 数值型+布尔型>数值型(1+true>2;1+false==>1)

  5. 字符串型+布尔型>字符串型('string'+true>'stringtrue')

  6. 加法运算(当有字符串参与加法运算时为拼接,非字符串都转为字符串)

  7. 减、乘、除、取余运算(自动将数据类型转为数值型,然后再进行运算)

    强制转换
    1. boolean(x)(只有五个值会被转为false( 0 , null , NaN , undefined , "" ),其余任何值都转为true )

    2. NaN(Not a Number),JS中number类型的一个特殊值,代表一切不是数字的值,只要将其它类型转为数字时,无法正常转换时,都转为NaN

    3. NaN特点
      1. NaN参与任何计算,结果依然是NaN
      2. NaN不大于,不小于,不等于任何值,包括自身

      运算符和表达式

      1. ++自增,在当前的基础上加1
        num++:先打印num当前的值,然后再执行自增(先用后加)
        ++num:先执行自增,然后再打印num(先加后用)

      2. NaN和任何值比较(> < <= >= == ===)都是flase,包括自身

        位运算符

        1. 按位与(&)(对应的两个二进位均为1时,结果位才为1 ,否则为0)

        2. 按位或(|)(对应的两个二进位有一个为1时,结果位就为1)

        3. 按位异或()(相同为0,相异为1)

        4. 按位左移(<<)(往左移动一位,在二进制的末尾补0,每移动一位增大一倍,将m的二进制数左移n位,相当于m* 2的n次方)

        5. 按位右移(>>)(往右移动一位,删除二进制的最后一位,逐渐变小,将m的二进制数右移n位,相当于m/ 2的n次方)

        6. 实际应用
          下取整
          1.m>>>0:无符号右移运算符
          2.m|0
          3.m0
          不声明第三个变量,交换两变量的值
          1.a=b; b=a; a=b;
          2.a+=b; b=a-b; a-=b;
          问题:以上两种方法只能交换数字类型的数据

        7. 三目运算符
          条件表达式?表达式1:表达式2

        8. 水仙花

心得

把以前没注意的点以及忘记的点回忆起来了,也学到了一些新东西。

评论