JavaScript之使用JavaScript模仿oop编程

第一,

首先,使用关键字function定义一个类

function Shape1(ax,ay) {//此时将function看成声明类的标志
    var x=0;
    var y=0;
    var  init=function () {//构造函数   对内部的变量赋值
        x=ax;
        y=ay;
    }
init();//构造函数的调用
     this.getX=function () {//this声明公有函数   var 声明私有   get方法
      return x;
    }
}

然后,对象的实例化+调用

var shape=new Shape1(1,2);//实例化
alert(shape.getX());//公有方法的调用

第二,

静态属性和静态方法
js中静态方法是作用在类身上的而非对象上
一,对于使用function声明的类

(1)首先,先定义一个类

function Person() {this.Name="小李"};


(2)然后,为类添加静态变量 静态方法

  Person.age=0;
    Person.ShowName=function (obj) {
        console.log(obj.Name)//此时的Name是Person对象类下面全局变量,需要Person对象方可访问
    };

(3)调用

 Person.ShowName(new Person());
总结:先有类,再添加有静态成员,
Person是一个类 可以实例化,下面有静态成员需要实例化.才能访问

二,没有function声明的类(对象)--简单类
(1),先有一个类
var a={};//一个类

(2)为类添加属性

a["name"]="1";//添加属性

(3)调用

alert(a.name);
原文地址:https://www.cnblogs.com/wfaceboss/p/7636283.html