javascript 封装

常规封装 (将具体初始化放在构造函数里面)

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

Fruit.prototype = {
  constructor: Fruit, //将Fruit.prototype的构造函数指向Fruit
  consoleName:function(){
    console.log(this.name)
  }
}

常规封装(放一个初始化方法在构造函数里面)

function Fruit (info){
  this.init(info);
}

Fruit.prototype = {
  constructor: Fruit, //将Fruit.prototype的构造函数指向Fruit
  init: function(info){
    this.name = info.name;
  },
  consoleName:function(){
    console.log(this.name)
  }
}

类jQuery 封装

var Fruit = function (info){
  return new Fruit.prototype.init(info);
}  

Fruit.prototype = {
  constructor: Fruit,
  init:function(info){
    this.name = info.name;
  }
}

Fruit.prototype.init.prorotype = Fruit.prototype; //将init的原型对象指定为Fruit的原型对象
var Fruit = function (info){
  return new Fruit.fn.init(info);
}  

Fruit.fn = Fruit.prototype = {
  constructor: Fruit,
  init:function(info){
    this.name = info.name;
  }
}

Fruit.fn.init.prorotype = Fruit.fn; 
var Fruit = (function(window){
  var Fruit = function (info){
    return new Fruit.fn.init(info);
  }  

  Fruit.fn = Fruit.prototype = {
    constructor: Fruit,
    init:function(info){
      this.name = info.name;
    }
  }
  Fruit.fn.init.prorotype = Fruit.fn; 
  return Fruit;
})()

原文链接:http://www.cnblogs.com/likeFlyingFish/p/6175734.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • JavaScript封装 继承 多态 1.封装(和java,c++一样) 1.1 首先了解一下什么是对象的私有变量...
    煤球快到碗里来阅读 285评论 0 0
  • 一、生成实例对象的原始模式 二、工厂模式 三、构造函数模式 所谓"构造函数",其实就是一个普通函数,但是内部使用了...
    CoderLF阅读 160评论 0 0
  • 原文见martin的博客 最近重新看《javascript高级程序设计》,突然看到了ajax,想起来之前学习的各种...
    small_a阅读 9,199评论 12 38
  • Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象。但是,它又不是...
    Leophen阅读 426评论 0 0
  • 强大的内心是战胜一切的前提……
    从未曾离开过阅读 151评论 0 0