JS-值类型和引用类型
-
简单数据类型:值类型,变量存储的是值本身
- Number 数字类型
- String 字符串类型
- Boolean 布尔类型
- undefined 未定义,变量只声明,未赋值
- null 空类型,变量已赋值,但是赋值的是一个空数据(还未被创建出来的对象)
-
复杂数据类型:引用类型,变量存储的是内存地址
- Array 数组
- function 函数
- Object 对象
简单理解变量存储的是内存地址:比如对象,开辟一个对象的内存空间需要非常大的内存空间,大到栈内存无法提供,于是就去堆内存中开辟,就好像买房子,房子不能直接给你,于是给你一把钥匙,通过这把钥匙能找到房门去开启。
值类型和引用类型的赋值规则
-
值类型:由于变量存储的是值本身,因此赋值也是值本身
-
引用类型:由于变量存储的是内存地址,因此赋值也是内存地址
简单理解赋值也是内存地址:比如上例的买房子,现在我想居住这间房子,就需要旧对象复制一把钥匙给我,于是我通过这把钥匙可以打开房门。我在这间房子里做的任何改动,旧对象通过钥匙开启了房门之后都可以看得到,比如我拿走了这间房子的一个枕头,旧对象就能发现房子里少了一个枕头。
标签:存储,变量,对象,JS,引用,类型,内存地址,赋值 来源: https://www.cnblogs.com/jzhFlash/p/16401120.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。