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

JS 里的数据类型

作者: 蟹蟹yu | 来源:发表于2018-10-16 21:26 被阅读0次

    JS中的原始数据类型

    • number:数字类型(整数和小数)
    • string:字符串类型(一般用单引号或者双引号括起来的)
    • boolean:布尔类型(值只有两个:true,false)
    • null:空类型(值只有一个,即null)
    • undefined:未定义(值只有一个,即undefined)
    • object:对象类型
    • symbol:表示独一无二的值(ES6新增)

    1.number 数值

    整数和浮点数
    JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。所以,1与1.0是相同的,是同一个数。
    NaN:非数字类型。特点:① 涉及到的 任何关于NaN的操作,都会返回NaN ② NaN不等于自身。
    isNaN() 函数用于检查其参数是否是非数字值。
    isNaN(123) //false isNaN("hello") //true

    2.String类型

    字符串就是零个或多个排在一起的字符,放在单引号或双引号之中。
    下面两种字符串的写法都是有效的:
    var firstName="Marry"; var firstName='Jane';

    注意:

    如果要在单引号字符串的内部,使用单引号,就必须在内部的单引号前面加上反斜杠,用来转义。双引号字符串内部使用双引号,也是如此。
    字符串默认只能写在一行内,分成多行将会报错。如果要分成多行,在每一行的尾部加上反斜杠 \
    连接运算符 + 可以连接多个单行字符串,将长字符串分成多行,输出时也是单行。
    String类型包含了一些特殊的字符字面量,也叫转义序列。

    字面量 含义
    \n 换行
    \t 制表
    \b 空格
    \r 回车
    \f 进纸
    \ 斜杠
    ' 单引号
    " 双引号
    \xnn 以十六进制代码 nn 表示的一个字符(0~F)。例:\x41
    \unnn 十六进制代码nnn表示的一个Unicode字符(0~F)。例:\u03a3

    字符串一旦创建,它们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量。
    length属性返回字符串的长度,该属性也是无法改变的。

    s.length // 5
    
    s.length = 3;
    s.length // 5
    

    3.null和undefined

    • Undefined 类型只有一个值,即特殊的undefined。 在使用var声明变量,但没有对其初始化,这个变量的值就是undefined。
    • null 只有一个值null
      null与undefined都可以表示“没有”,相等运算符(==)甚至报告两者相等
      区别:有一个对象,还不想赋值,推荐给一个空值null
      非对象,还不想赋值,推荐给一个undefined

    4.布尔值(boolean)

    布尔值只有两个true和false,在条件表达式中,会将表达式转换为布尔值,以进行下一步操作。除了以下六个falsy值外,其它一切转换为布尔值都为true。

    undefined
    null
    false
    0
    NaN
    空字符串

    小技巧:要将其它值转换为布尔值可使用双重取反!!xxx

    object类型

    对象,就是一组“键值对”(key-value)的集合,是一种无序的复合数据集合。

    var a = {
      name: 'cong'
      age: '24'
    }
    
    • key必须为字符串形式,引号可以省略。
      如果键名不符合标识名的条件(比如第一个字符为数字,或者含有空格或运算符),且也不是数字,则必须加上引号
    var a = {
      name: 'cong',
      age: '24',
      9b: '20',//不合法
      '9b'; '20' // 合法
    }
    
    • 调用方法:点方法和方括号法。
      a.name // 当键名符合标识符规则
      a['9b'] //键名必须放在引号里面,否则会被当作变量处理
    • 删除对象的属性
    delete a['name']
    a.name //undefinedd (无value)
    'name' in a //false (无key)
    
    • in运算符
      检查对象是否包含某个属性,如果包含就返回true,否则返回false。
    var obj = { p: 1 };
    'p' in obj // true
    
    • 遍历对象(for....in...)
    for (var key in a) //此时打印出key的值

    相关文章

      网友评论

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

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