标签:type for eof 深浅拷贝 就是 mil sha ejs one
JS中的变量类型分为
值类型(基本类型):null undefined boolean string number
引用类型:
array object
在JS中,每一个数据都需要一个内存空间。内存空间又被分为两种,栈内存(stack)与堆内存(heap)。
var a = 1
数据在栈内存中的存储与使用方式类似于数据结构中的堆栈数据结构,遵循后进先出的原则。
var b = { xi : 20 }
浅拷贝
浅拷贝就是只进行一层拷贝
function shallowClone(source) {
var target = {};
for (var i in source) {
if (source.hasOwnProperty(i)) {
target[i] = source[i];
}
}
return target;
}
json的深拷贝
function cloneJSON(source) {
return JSON.parse(JSON.stringify(source));
}
深拷贝 = 浅拷贝 + 递归
弊端:对对象中的正则,func等没有做处理
function clone(source) {
var target = {};
for(var i in source) {
if (source.hasOwnProperty(i)) {
if (typeof source[i] === ‘object‘) {
target[i] = clone(source[i]); // 注意这里
} else {
target[i] = source[i];
}
}
}
return target;
}
function cloneJSON(source) { returnJSON.parse(JSON.stringify(source)); }
标签:type for eof 深浅拷贝 就是 mil sha ejs one
原文地址:https://www.cnblogs.com/hanhaiyuntao/p/11388173.html