for in 对象复制继承
浅拷贝
for(var attr in Parent){
children[attr] = Parent[attr];
}
function extend(obj1,obj2){
for(var attr in obj2){
obj1[attr] = obj2[attr];
}
}
extend(children,Parent);
深拷贝
var obj = {
a:{b:10}
}
function deepCopy(obj){
if(typeof obj != 'object'){
//console.trace();
return obj;
}
var newObj = {};
for(var attr in obj){
newObj[attr] = arguments.callee(obj[attr]);
}
return newObj;
}
var obj2 = deepCopy(obj);
obj2.a.b=20;
alert(obj.a.b)
递归
function test(n){
if(n==1){
console.trace();
return 1;
}
return arguments.callee(n-1)*n;
}
test(4);