基本类型和引用类型
- 基本类型值指的是那些保存在栈内存中的简单数据段,即这种值完全保存在内存中的一个位置。
- 引用类型值是指那些保存在堆内存中的对象,意思是变量中保存的实际上只是一个指针,这个指针指向内存中的另一个位置,该位置保存对象。
-
深复制(递归)
function deepClone(data){ var type = getType(data); var obj; if(type === 'array'){ obj = []; } else if(type === 'object'){ obj = {}; } else { //不再具有下一层次 return data; } if(type === 'array'){ for(var i = 0, len = data.length; i < len; i++){ obj.push(deepClone(data[i])); } } else if(type === 'object'){ for(var key in data){ obj[key] = deepClone(data[key]); } } return obj; }
-
检测类型
-
typeof
可以确定一个变量是字符串、数值、布尔值和 undefined,如果变量的值是对象或者 null,就会返回 “object” -
instanceof
用来确定引用类型的实例result = variable instanceof constructor