- <script>
- //最简单直接继承、扩展Object,或者克隆一个Object到能创建多个互不干扰实例的方法
- // 不明白的地方请阅读《JavaScript高级应用与实践》(电子工业出版社.夏天著)
- varo={name:"xiatian"};
- functionjcore(o)
- {
- if(this==window)
- returnarguments.callee.prototype=o,newarguments.callee(o);
- returnthis;
- }
- varb=jcore(o);
- b.name="QQ:11602011";
- //你会发现对b.name的改变没有改变o.name
- alert([b.name,o.name]);
- //这个时候则改变了o.name的值了,因为jcore.prototype和o都是指向同一个对象的句柄
- jcore.prototype.name="goodjustfine";
- alert([b.name,o.name]);
- </script>