js中的数据类型
1. js中数据类型分为两种:
基本数据类型:Number, String, Boolean, Undefined, Null, ( es6中新增了 Symbel);
引用类型:除了基本类型以外的都是引用类型,Object, function, array ,Regexp(es6 新增Set, Map);
2. 数据类型的值存放位置及访问机制
1)堆 stack和栈heap
stack是自动分配的内存空间,由系统自动释放;heap是动态分配的内存,大小不一定会自动释放;
2)存放位置及访问机制
基本数据类型的值存放在栈中,数据大小确定,内存空间大小可以分配,直接按值存放,按值访问;
引用数据类型的值存放在堆内存中,变量只是保存在栈内存中的一个指针(指向堆内存中的引用地址);
3 数据类型的拷贝(主要是对象的深浅拷贝)
浅拷贝:1)$.extend(boolean,{}, obj) boolean默认为false
2)Object.assign({}, obj)
3)JSON.parse(JSON.stringify(obj1))
4)js
深拷贝 $.extend(true,{}, obj) ;
js实现
4 检测类型
typeof用来检测基本数据类型,instanceof用来检测引用数据类型
instanceof实现原理