创建对象的几种方式
第一种:字面量
第二种:通过构造函数
第三种:Object.create
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>CreatObject</title> </head> <body> </body> <script> //第一种方式 var o1={name:"o1"}; var o2=new Object({name:"o2"}); //第二种方式 var A=function (name) { this.name=name; }; var o3=new A("o3"); //第三种方式 var c={name:"c"}; var o4=Object.create(c); console.log("o1",o1); console.log("o2",o2); console.log("A",A); console.log("o3",o3); console.log("o4",o4); </script> </html>
ky看出前2种方式创建的对象的结构是一样的,第3种Object.create创建的对象他的结构和其他的不同,他先创建了一个{},再把这个对象的__proto__指向传入的参数,注意传入的是引用,如果我们改变了o4.name那么c.name也改变了