var a = {age : 3}; console.log(a); 1.当我们打印a这个对象时,发现有一个__proto__的属性 2.当我们给a添加一个age:3这个属性时,再打印a发现有age:3和__proto__这两个属性 3.因为__proto__ 是一个object,所以我们说__proto__是一个对象,而这个对象就是我们要说的原型对象。 4.因为__proto__是一个对象,所以我们能想__proto__中添加属性。 5.如何添加属性: a.__proto__.name = "china"; 6.然后我再创建一个对象b var b = {}; b.__proto__.brand = "nokia"; console.log(b.name); 7.为什么一个空对象b,可以打印出name呢。(我们来看图) 8.如何获取这个原型,就是用.__proto__,因为给a.__proto__添加了name所以b也有name的属性 9.如果在创建一个对象: var c = {length:140}; console.log("c name" +c.name); 10.使用构造器(类)创建对象 function createMars(){ } var d = new createMars(); console.log(d.brand); 11.使用new object()创建对象 var e = new Object(); console.log("e name is "+e.name); 12.还使用构造器(类)来创建对象。 function createEather(){ } var dadiqiu = new createEather(); var xiaodiqiu = {}; dadiqiu.__proto__.__proto__.stone = "ranliao"; var f = {}; console.log(f.stone);按道理这个对象的stone是可以打印的,但是却打印出undefine; 13. 既然用{}创建出的对象添加原型,任何对象都可以打印 //为什么使用构造器(类)创建对象却打印undefine呢?所以我们来比较这两个对象 14.打印大地球和小地球 console.log(dadiqiu); console.log(xiaodiqiu);
构造器
最新推荐文章于 2024-05-03 17:06:19 发布