Javascript中的数据类型
你好,朋友 在js中分为基本数据类型和引用数据类型
Javascript有六种基本数据类型(也就是简单数据类型),它们分别是:Undefined
,Null
,Boolean
,Symbol
(es6新增),Number
和String
。还含有一种复杂数据类型,就是Object
。
注意:Undefined和Null的区别~
- Undefined和Null类型都只有一个值,分别为undefined和null
- undefined其实就是已声明未赋值的变量输出的结果,null其实就是一个不存在的对象的结果
var name;
console.log(name)//undefined
console.log(document.getElementById('box'))//没有id为box的节点,输出null
基本数据类型和引用数据类型的区别
- 基本数据类型保存那些基本数据片段,而引用数据类型中保存着对堆内存中对象的引用,是一个指针。与其他语言的不同是,你不可以直接访问堆内存空间中的位置和操作堆内存空间。只能操作对象在栈内存中的引用地址。
- 引用类型数据在栈内存中保存的实际上是对象在堆内存中的引用地址。通过这个引用地址可以快速查找到保存中堆内存中的对象。
- 在将一个保存着基本数据类型的变量复制给另一个变量时,会将原始值的副本赋值给新变量,此后这两个变量是完全独立的,他们只是拥有相同的value而已。
- 在将一个保存着对象内存地址的变量复制给另一个变量时,会把这个内存地址赋值给新变量,也就是说这两个变量都指向了堆内存中的同一个对象,他们中任何一个作出的改变都会反映在另一个身上。(这里要理解的一点就是,复制对象时并不会在堆内存中新生成一个一模一样的对象,只是多了一个保存指向这个对象指针的变量罢了)。
- 【Javascript中的数据类型】可以为引用数据类型值添加属性和方法,不可以为基本数据类型值添加属性和方法。
文章图片
基本数据类型赋值的过程
var a = 10;
var b = a;
引用数据类型赋值过程:
文章图片
引用数据类型赋值过程
var obj1 = {
name:"tom",
age:18
};
var obj2 = obj1;
obj2.name = "jack";
console.log(obj1.name)//jack
这个预期往往不是我们想要的~
欢迎小伙伴们提出自己的见解
更多博客请前去我的github
If this article has give you some help . why don't give me a star?!
推荐阅读
- 热闹中的孤独
- Docker应用:容器间通信与Mariadb数据库主从复制
- JS中的各种宽高度定义及其应用
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- Android中的AES加密-下
- 事件代理
- 放下心中的偶像包袱吧
- C语言字符函数中的isalnum()和iscntrl()你都知道吗
- C语言浮点函数中的modf和fmod详解