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

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

 

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

 

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

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM