JavaScript自定义类和对象的方法

备注:JavaScript中没有类class的概念,一般把原型对象看作类

1. 工厂方法--使用new Object创建对象并添加相关属性

    var Obj = new Object;
         Obj.name = 'sun';
         Obj.showName = function() {
    alert('this.name');
}

2. 使用构造函数来定义类(原型对象)

    function Obj(name) {
         this.name = name;
         this.showName = function () {
          alert(this.name);
    }
}
  var obj1 = new Obj('xiaoxiao');
  var obj2 = new Obj('lili');

3. 使用prototype

    var Obj = function () {}
           Obj.prototype.name = 'me';
           Obj.prototype.showName = function () {
          alert(this.name);
   }
   var obj1 = new Obj();
   var obj2 = new Obj();

4. 构造函数及原型混合方式

    var Obj = function (name) {
    this.name = name;
    this.flag = new Array('A', 'B');
}
   Obj.prototype = {
           showName : function () {
           alert(this.name);
    }
}
   var obj1 = new Obj();
   var obj2 = new Obj();

   obj1.flag.push('C');

  alert(obj1.flag); // A,B,C
  alert(obj2.flag); //A,B

5. 动态原型方式(。。。)

   

备注:

定义类:

function 类名(){       

}

   ----》

function 类名(){

         this.属性名;//公开属性(可以通过对象名.属性名来访问)

         var 属性名;//私有属性(只能通过对象的内部函数来访问)

 }

宝剑锋从磨砺出,梅花香自苦寒来。
原文地址:https://www.cnblogs.com/haimengqingyuan/p/5424697.html