一、基本数据类型
基本数据类型:Number、String、Boolean、Null、 Undefined、Symbol(ES6)。
基本数据类型是指存放在栈中的简单数据段,数据大小确定,内存空间大小可以分配,它们是直接按值存放的,所以可以直接按值访问。
二、引用数据类型
引用数据类型:Object(在JS中除了基本数据类型以外的都是对象,数据是对象,函数是对象,正则表达式是对象)。
引用类型是存放在堆内存中的对象,变量其实是保存的在栈内存中的一个指针(保存的是堆内存中的引用地址),这个指针指向堆内存,可以快速查找到保存中堆内存中的对象。
三、引用数据类型举例
代码如下:
const obj = {
"a.b.c.d": "hello",
"a.e": "world"
};
const keyArr = Object.keys(obj);
const valueObj = {};
keyArr.forEach(item => {
const nameArr = item.split(".");
let temp = {};
const len = nameArr.length;
for (let i = 0; i < len; i += 1) {
const name = nameArr[i];
if (i === 0) {
!valueObj[name] && (valueObj[name] = {});
temp = valueObj[name];
} else if (i === len - 1) {
temp[name] = obj[item];
} else {
!temp[name] && (temp[name] = {});
temp = temp[name];
}
}
});
console.log(valueObj);