// //1:这类拷贝仅仅拷贝了地址,不在堆上面复制内容 // var obj1={ // name:"小东", // age:10, // sleep:function () { // console.log("睡觉啦"); // } // }; // //改变了地址的指向 // var obj2=obj1; // console.log(obj2.name,obj2.age); // obj2.sleep(); //这类拷贝在堆上面重新复制了内容,并且在各自的栈上面指向自己堆的内容 function Person() { } Person.prototype.age=10; Person.prototype.sex="男"; Person.prototype.height=100; Person.prototype.play=function () { console.log("玩得好开心啊"); }; var obj2={}; //Person的构造中有原型prototype,prototype就是一个对象,那么里面age,sex,height,play都是该对象的属性或者方法 for(var key in Person.prototype){ obj2[key]=Person.prototype[key]; } console.dir(obj2); obj2.play();