美文网首页
JS 里的数据类型

JS 里的数据类型

作者: 龍光射牛斗 | 来源:发表于2018-09-22 16:58 被阅读0次

    JS目前共有7种数据类型,其中6种为简单类型(number,string,boolean,null,undefined,symbol),一种为复杂类型(object)。

    1.Number类型

    1.1 数字包含整数以及小数。所有数字都是由64位浮点数存储的。

    类似1和1.0是相等的

    1===1.0
    true
    

    但是涉及到小数的运算需要格外小心,是有微小误差的

    0.3/0.1=3
    VM65:1 Uncaught ReferenceError: Invalid left-hand side in assignment
    0.3/0.1
    2.9999999999999996
    
    1.2 数值的进制

    使用字面量表示数值时,js对整数提供4种进制表示方法:
    2进制//前缀为0b或者0B
    8进制//前缀为0或者0o或者00,且只用1~7的阿拉伯数值表示
    10进制//没有前导0的数值
    16进制//有前缀0x或者0X

    1.3 NaN

    NaN是JS的特殊值,表示非数字(Not a Number)
    但NaN本身是属于数值的

    typeof NaN
    "number"
    

    NaN不等于自身和任何数值;NaN在boolean运算时为false;NaN与NaN的运算都是false;
    isNaN()方法用以判断一个值是否为NaN

    1.4.1 parseInt()方法

    parseInt()方法用于将字符串转化为整数。
    同时也可以输入两个参数,第二个参数输入2-32的阿拉伯整数,将第一个参数转化为相应进制的数值。第二个参数输入超出限定的数值后,输出结果会表示为NaN(0,null,undefined作为参数则直接被忽略)

    2.String

    2.1定义

    字符串是0个或者多个排列在一起的字符,放在单引号和双引号内。
    字符串默认只能写在一行,否则会报错

    'a
    b 
    c'
    //VM106:1 Uncaught SyntaxError: Invalid or unexpected token
    

    如果强迫症必须要写成三行没可以在末尾添加反斜杠

    'a\
    b\
    c'
    //"abc"
    

    或者使用'`'符号包裹,就是键盘上数字1键位左边那个

    `a
    b
    c`
    //
    "a
    b
    c"
    
    2.2转义符

    反斜杠(\)在字符串内有特殊含义,用来表示一些特殊字符,所以又称为转义符。
    常用的需要反斜杠来转义的特殊字符:
    \0:null
    \n:换行符
    \r:回车键
    \t:制表符
    ':单引号
    ":双引号
    \:反斜杠

    2.3 字符串与数组;Length属性

    字符串可以被视为一个数组,可以用方括号运算符属性查看相应位置的字符;也可以用length属性查看长度。但其相似度仅仅如此,无法如同数组一样对其属性进行变更

    ('naruto')[0]
    //"n"
    
    ('naruto').length
    //6
    

    3 Null和Undefined

    null和undefined都表示‘无’。
    一般用null来表示空对象;undefined表示空非对象类型。

    4 Boolean类型

    布尔值分为true和false,常用于逻辑运算。
    以下运算符会返回布尔值
    前置逻辑运算符:!(表示not)
    相等运算符:===,!==,==,!=
    比较运算符:>,>=,<,<=
    在逻辑运算中,null,undefined,NaN,0,false,''(空字符串),直接转换为false.
    空数组和空对象对应的布尔值都是true.

    5 symbol类型

    symbol类型是ES6新引进的一中数据类型,表示独一无二的值。

    var a=Symbol();
    var b =Symbol();
    a===b;
    false
    

    6 Object

    6.1
    object是JS语言的核心,是最重要的数据类型。
    可以用var a={};来创建对象
    这是一个空数组,键名(属性名;key)和值可以在创建时添加,也可以在随后动态地添加。需要注意,其命名规则需要和标识符一致,不然需要加上引号,否则会报错。
    6.2可以使用delete 删除属性

    var yyy={a:b}
    delete yyy.a;//true
    yyy//{}
    

    6.3 使用in运算来查看属性是否存在

    var yyy={a:b}
    'a' in yyy//true
    

    6.4 遍历属性
    使用for in 循环来遍历一个对象的所有属性

    var yyy={a:1,b:2,c:3}
    for(var i in yyy){console.log('键名:'+i+','+'键值:'+yyy[i]);}
    VM654:1 键名:a,键值:1
    VM654:1 键名:b,键值:2
    VM654:1 键名:c,键值:3
    

    更新2018/9/23

    1. String转换为Number

    1.1 Number()
    1.2 parseInt()或者parseFloat
    1.3 'string' - 0 //通过减零来实现,老司机技能
    1.4 +'string' //通过取正来实现

    2. 转换为String

    2.1 .toString()方法实现
    2.2 xxx+'' //值加空字符串,任意一边有字符串,js就会尝试把另一边也转化为字符串,老司机技能

    3. 逻辑运算,求false和true

    3.1 Boolean()
    3.2 !! //求反,老司机技能
    需要注意5个falsy值(undefined,null,NaN,0,''),这五个中最后一个为空字符串。

    相关文章

      网友评论

          本文标题:JS 里的数据类型

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