js面向对象编程--廖雪峰的官方网站

创建对象

创建对象(即封装数据),可以直接创建,如

1 var person={
2     name:'cat',
3     age:'10',
4     sayName:function(){
5         console.log(this.name);
6     }
7 }

也可以通过构造函数的方式来创建,如:

1  function Person(name,age){
2      this.name=name;
3      this.age=age;
4      this.sayName=function(){
5          console.log(this.name);
6      }
7  }

然后,通过new关键字来实例化一个对象

1 var person1=new Person('lala',20);
2  person1.sayName(); //lala

js在创建对象时,都会给给对象设置一个__proto__属性,它指向对象的原型。

1 var arr=[1,2,3];

arr-->Array.prototype-->Object.prototype-->null

1 function show(){
2     console.log('helle');
3 }

show-->Function.prototype-->Object.prototype-->null

当以object.xxx访问对象的某个属性时,若该对象上没有这个属性时,就会在对象的原型对象上去找...一直找到原型链的最顶端,即null为止。

基于原型的特性,我们可以将对象的公共属性都放在原型对象上,避免多次创建。

1 Person.prototype.hate='work';
2 Person.prototype.getName=function(){
3     console.log(this.name);
4 }
原文地址:https://www.cnblogs.com/cherryshuang/p/8493448.html