js笔记二

1.单例模式

var obj = {
  name: 'abc',
  set: function(){},
  get: function(){}      
}

2.工厂模式

function obj(name){
  var obj = {}
  obj.name = name;      
  obj.set = function(){};
  obj.get = function(){};    
  return obj;  
}

var p = obj('abc');

3. 构造函数模式

function obj(name){
this.name = name;
this.set = function(){};
this.get = function(){};
}

var p  = new obj('abc');

4.构造函数原型链模式

function obj(name){
this.name = name;  
}

obj.prototype.set = function(){}
obj.prototype.get = function(){}

var p = new obj('abc')

1.  每一个函数都有自带的属性prototype, 如果不是new一个函数的话,这个prototype没有意义。

2. prototype 存储的是对象数据类型,有自己的内存块,并且这个内存块上还有2个属性,contructor和__proto__,

 其中,constructor 是prototype特有的属性,__proto__是所有对象数据类型都有的,__proto__指向prototype对象的引用。

posted @ 2017-03-21 13:55  涵叔  阅读(81)  评论(0)    收藏  举报