1. 程式人生 > >JavaScript之使用JavaScript模仿oop編程

JavaScript之使用JavaScript模仿oop編程

簡單 .sh 靜態屬性 ret this on() 函數 賦值 ons

第一,

首先,使用關鍵字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);

JavaScript之使用JavaScript模仿oop編程