美文网首页
JS数据类型

JS数据类型

作者: 郑馋师 | 来源:发表于2019-09-29 19:10 被阅读0次

    数据类型

    数字与字符串

    区别:

    1. 功能:
    • 数字可以运算,但是字符串不可
    1. JS中储存形式
    • 数字:64位浮点数形式储存
    • 字符串:UTF8形式储存,用数字编号所有符号
      UTF-8 是 Unicode 一种存储规则,也叫字符编码规则。

    JS中数据类型 (四基两空一对象)

    Tips:不是数据类型:数组,函数,日期(这三个都是对象)

    布尔(bool)

    只有两个值(大小写无所谓)

    • true
    • false

    falsy值

    这不是false的值但是相当于false

    1. NaN(Not a Number,意思是不知道什么的数字)
    2. ''(空字符串,没有空格)
    3. null
    4. undefined
    5. 0
      除此之外还有一个false,其他都是true值
      eg.
    • if(1){} =>if(true){}
    • if(0){} =>if(false){}
    • if(''){} =>if(false){}
    • if('0'){} =>if(true){}

    可得到bool值

    • 否定运算
      if(!1)
    • 相等运算
      if(1=2)
    • 比较运算
      if(1>2)

    数字(number)

    JS 的 number 全都是以小数(浮点数)的形式存储的,没有单独的整数

    特殊值

    • 0/+0/-0
      值相同
      区别:1/0,1/+0都是正无穷
      1/-0为负无穷。

    • NaN
      无法表达的数字
      NaN不等于NaN,因为他们只是代表无法表示的数字,但是他们不一定相同。
      eg. 以前无法理解负数的时候,-1就是NaN,同时-2也是。所以不一定相同

    • infinity/-infinity
      正负无穷

    范围

    • 最大的二进制数字:指数最大且有效数字最大
    • 最小二进制数字: 指数往负方向最大,且有效数字为1
    • 若有效数字多于许可范围,则多出来的有效数字变成0
    • 十进制最多是15位有效数字,若有16位有效数字开头<90也可存

    字符串(string)

    写法

    ''//单引号
    ""//双引号
    ``//反引号
    

    it`s ok是不对的,因为第一个'和it's中的'会组合成字符串,也就是得到'it'和 s ok的指令
    正确写法:

    ''it/'s ok' // /'是转义,只有一个字符串的长度
    `it's ok`// 用`来作为字符串的引用
    

    转义的写法

    \' //'
    \\  // /
    \n //换行
    \r //回车
    \t //Tab制表符
    \uFF //对应的Unicode字符
    

    转义的长度中/是不占字符长度的
    eg.\n\t\r长度为3
    Tips:

    • 字符串中要打回车,用反引号可以直接打,其他要转义
    • 字符串属性
    1. 长度
    2. 下标
      eg.
    let s ='abcd'
    s[0] ='a'
    s[4]=false// 由于是从0开始,所以'd'是s[3]
    

    符号(symbol)

    不讲

    空(null)

    空(undefined)

    两个空本质无差别
    区别:

    1. 若一个变量声明无赋值为undefined(默认),一个函数没写return为null
    2. 习惯:对象中的空为null,非对象中的空为undefined

    对象(object)

    对象声明

    1. var(过时了不用了)
    2. let
    • 遵循块作用域,使用范围不超过{}
    • 不可重复声明
    • 可赋值也可不赋值
    • 先声明后使用
    • 全局声明let变量不会变成window属性,但是var会
      eg.
    {
    let a = 1
    }
    console.log(a)
    

    报错,a 没有定义,因为 let a 的作用域在 { } 内部

    {
    console.log(a)
    let a = 1
    }
    

    报错,因为不能在声明 let a 之前使用 a

    1. const
    • 遵循块作用域,使用范围不超过{}
    • 不可重复声明
    • 一定要赋值,有且仅有一次赋值
    • 先声明后使用
    • 全局声明let变量不会变成window属性,但是var会

    Tips:
    变量声明时候指定值的同时也要指定对象
    eg.

    let a=1// 值为1,类型为number
    

    数据类型转换

    1. 数字=>字符串
    let n=1
    //4种方法
    String(n)
     n + ''
     '' + n
    n.tostring
    

    Tips!!

    • 1.tostring是不对的,因为1. 后面计算器会默认要加小数,所以要1..tostring/(1).tostring
    1. 字符串=>数字
    let s ='123'
    //2种方法
    s-0
    ParseInt(s)//让其变成整数
    
    1. 任何变成bool
    let x
    //2种方法
    boolear(x)
    !!x
    

    js学习资料

    JS秘密花园,JS中奇怪的点

    相关文章

      网友评论

          本文标题:JS数据类型

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