Js面向对象的几种方式
1.对象的字面量 :var obj={}
2.创建实例对象 : var obj=new Object()
3.构造函数模式:function fn(), new fn()
4.工厂模式:用一个函数,通过传递参数返回对象
function fn(params)
{
var obj=new Object()
params=params
return obj
}
fn(params)
5.原型模式:
function clock(hour)
{}
fn.prototype.hour=0
new clock()
首先,每一个函数都有一个prototype(原型)属性,这个指针指向的是clock.prototype对象。而这个原型对象在默认的时候有一个属性constructor,指向clock,这个属性可读可写,而当我们在实例化一个对象的时候,实例newClock除了具有构造函数定义的属性和方法外(注意:只是构造函数中的),还有一个指向构造函数原型的指针。ECMAScript管他叫[{prototype}],这样实例化对象的时候,原型对象的方法并没有在某个具体的实例中,因为原型没有被实例。