js原始类型有几种? js基本数据类型与引用类型在存储上有什么区别?null 是对象吗?

第一个问题: 

   js原始类型 有六种, 以前有五种 ,现在多了 symbol,

  1. number (整数,浮点数 int / float)

  2. string 字符串

  3.bollean 布尔型 (true false)

  4.null (空值)

  5.undefined (空值,没有,不存在)

  6.symbol

  扩展一下, null 与 undefined的区别?

  null 表示一个空对象指针,一个变量将要赋值一个对象,但是还没有赋值,此时可以赋值为null

  

1 var a = null
2 console.log(a) // null

 

  undefined 变量已声明,但是没有初始化, (表示该变量已经定义,但是没有赋值)

1 var b;
2 console.log(b) // undefined

第二个问题:

  1. 基本数据类型的存储

    以 栈 的形式存储, 保存与赋值指向数据本身, 用type of 来判断类型,存储空间固定.

 

1 var c = 4
2 console.log(c) // 4
3 var c = 5
4 console.log(c) // 5

 

 

 

   2. 引用类型 Object

    以 堆 的形式存储, 保存于赋值指向对象的一个指针, 用instanceof 来判断类型 , 存储空间不固定

 

var d = {}
d.a = '123'
d.b = '234'
console.log(d) // {a: '123', b: '234'}

 

第三个问题: null 是对象吗?

  表明我自己的观点, null 不是对象, 他只是一个空对象指针, null instanceof object ===> false

 

posted @ 2019-05-28 15:56  骑着蜗牛看落日  阅读(1382)  评论(0编辑  收藏  举报