创建对象
创建对象(即封装数据),可以直接创建,如
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 }