关于对象复制时出现内容不一致的问题

Object.extend=function(a,b){
for(k in b){
alert(k);//name
a[k]=b[k];
alert(b[k]);//lufei
[b]alert(a[k]);//x为什么是x????[/b]
}
return a;
}
function x(){}
x.prototype.name='eric';
Object.extend(x,{name:'lufei'});

翻了下ECMAScript,无果
上网找到了答案:

部分浏览器(已测试FF、Chrome、Opera、Safari)中,函数对象会有只读的name属性,它的值为定义时的标识。如果是匿名函数,则为空串。
这个属性是非标准的,但没办法人家已经实现了……

IE下倒是没有这个问题

所以,尽量避免使用函数的name属性

http://www.cnblogs.com/CodingPerfectWorld/archive/2010/05/13/1734534.html