工厂模式
<code>
function createPerson(name){
var o = new Object()
o.name = name
o.sayName = function(){
console.log(o.name)
}
}
var person = createPerson('js')
</code>
构造函数模式
<code>
function Person(name){
this.name = name
this.sayName = function(){
console.log(this.name)
}
}
var person = new Person('js')
</code>
原型模式
<code>
function Person(){
}
Person.prototype.name = 'nicholas'
Person.prototype.sayName = function(){
console.log(this.name)
}
var person = new Person('js')
</code>
构造函数和原型模式组合
<code>
function Person(name){
this.name = name
}
Person.prototype = {
constructor :Person,
sayName: function(){
console.log(this.name)
}
}
var person = new Person('js')
</code>