function res(a) {
if (a == 1) {
return 1
}
return res(a - 1) + a
}
console.log(res(100));
利用递归来实现1-100的和
var obj1 = {
name: "赤妖碟",
age: 18,
friend: [
"小红", "小猪佩奇", "张三", {
name: "10086",
say() {
alert("该充钱了!")
}
}
]
}
function copyObj(obj) {
if (typeof obj != "object" || typeof obj == null) {
return obj;
} else {
var shuzu; //定义一个空数组
if (obj instanceof Array) {
shuzu = [];
for (var i = 0; i < obj.length; i++) {
shuzu[i] = copyObj(obj[i])
}
} else {
shuzu = {}
for (var k in obj) {
shuzu[k] = copyObj(obj[k]);
}
}
return shuzu;
}
}
var obj2 = copyObj(obj1);
console.log(obj1);
利用递归来实现深拷贝
深拷贝:两个相同引用类型数据不共用一份数据,简而言之,A,B虽然一样,但是A修改数据不会影响到B的数据
浅拷贝:两个相同引用类型数据共用一份数据,A修改值,B随之也会变动