javascript里面没有类的概念,对象由对象实例化。
使用原型初始化对象:
function Person(){
Person.prototype.name='sophie';
Person.prototype.showName=function(){
console.log(this.name);
};
var person=new Person();
person.showName();
}
使用对象字面量初始化对象:(缺点:每创建一个新的对象都需要写出完整的定义语句)
var person={
name:"sophie",
shoeNme:function(){
console.log(this.name);
}
};
构造函数创建对象:(配合new表达式使用)
function Person(){
this.name="sophie";
this.showNme=function(){
console.log(this.name);
};
}
var person=new Person();//这句话分解为四句:var person={};person._proto_=person.prototype;Person.call(person);return person;
构造函数内定义的属性继承方式:
1.子对象需要需要显式调用父对象才能继承构造函数内定义的属性;
2.构造函数内定义的任何属性,包括函数在内都会被重复创建,同一个构造函数产生的两个对象不共享实例;
3.构造函数内定义的函数有运行时闭包的开销,因为构造函数内的局部变量对其中定义的函数是可见的。