JavaScript里的数据类型

数据类型

JavaScript有七种数据类型

基本类型(简单类型)

数值 number

  • 十进制

    1

    1.1 .1

    1.23e(E)2 1.23 * 10的2次方

  • 二进制

    0b开头

    0b1

    0b11

  • 八进制

    01开头

  • 十六进制

    0x开头

字符串 string

  • 可以用'单引号'和'双引号'

  • 也可以用'' ""表示空字符串 长度是0

  • ' ' 表示空格字符串 长度是1 和空字符串做区别

  • 转义 《编码》code

    var a = ''' 用 var a = "'"

    var a = '\ '' 表示单引号 \就是转义符 长度1

    var n ='\n' 回车 长度1

    var t ='\t' Tab(制表符) 长度1

    var b ='\ \ ' 表示\符号

  • 多行字符串(不是字符串里有回车)

    var s = '12345 \ 坑人的语法

    ​ 67890'

    var s3 = '12345 \ 空格 空格 报错

    ​ 67890’

    var s ='12345

    ​ 67890' 报错

    var s2 = '12345' + 好用的语法

    ​ '67890' 这种也可以 这种表示方式更好

    ES6 var s4 =`12345回车

    ​ 67890` 长度11 包含回车

布尔 boolean

布尔(数学家)发明了逻辑学

  • true 真

  • false 假

  • &&与 a&&b 都真为真

  • ||或 a||b 有一个真则真 都假为假

null类型

一个值 null

undefined类型

一个值undefined

  • null 和 undefined 表示什么也没有 这是js之父的bug

  • 区别:

    1.变量没有赋值,就是undefined 不是null 语法

    2.有一个对象object,现在不想赋值 推荐给null 惯例

    var obj = null

    有一个非对象,现在不想赋值,推荐给undefined

Symbol(符号)

复杂类型

<u>复杂类型是由简单类型组成的</u>

对象 object 数组和函数都是对象

哈希表

--简单类型---------------------
var name = 'zhangsan'
var age = 18
var gender = 'male'
--复杂类型---------------------
var person = {
    'name': 'zhangsan',
    'age': 18,
    'gender': 'male'  //最后一行如果是ES3(IE7以下)就不能加逗号,如果是ES5(IE8以上)就能加逗号
}
  • 语法:
var person = {
    key: value  // 左边是字符串,可以省略引号,但是还是字符串 value可以是别的简单类型,也可以是对象
}
person[key]  这里的字符串不能省略引号

----------------------------------------
var obj = {
    9a: "aaa"  //报错
    '9a': "aaa"   // 正确
    a b: "aaa"  // 报错
    'a b': "aaa"   // 正确
     : "aaa"   // 报错
     ' ': "aaa"   // 正确
     你好: "aaa"   // 正确
     // Key如果不加引号,不许遵循变量名的规则
}

person['name']

person.name 特例 name===‘name'

  • delete person['name'] 删除key

    person.name // undefined 无value key和value都清空

    'name' in person // false 无key

    person.name = undefined // 把value设置为undefined key还在

    'name' in person // true

  • for...in

var person = {name:'zhangsan', age: 18}
for (var key in person) {
    console.log(key)
}
// name
// age
// name和age的顺序不确定
  • 查看一个对象本身的所有属性,可以使用Object.keys方法。

typeof

var t = 1
typeof t    // "number"
var t = "sssss"
typeof t    // "string"
var t = true
typeof t    // "boolean"
var t = undefined
typeof t    // "undefined"
var t = {}
typeof t    // "object"
var t = null 
typeof t    // "object"    BUG
function fn() {}
typeof fn   // "function"  BUG2
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容