javascript定義類和實例化類

在Javascript中,一切都是對象,包括函數。在Javascript中並沒有真正的類,不能像C#,PHP等語言中用 class xxx來定義。但Javascript中提供了一種折中的方案:把對象定義描述爲對象的配方(先看一下例子會比較容易理解)。

定義類的方法有很多種,這裏有兩中較爲通用的方法,大家參考一下。

這兩種方法均可以解決構造函數會重複生成函數,爲每個對象都創建獨立版本的函數的問題。

解決了重複初始化函數和函數共享的問題。

1、混合的構造函數/原型方式

//混合的構造函數/原型方式

//創建對象

function Card(sID,ourName){

this.ID = sID;

this.OurName = ourName;

this.Balance = 0;

}

Card.prototype.SaveMoney = function(money){

this.Balance += money;

};

Card.prototype.ShowBalance = function(){

alert(this.Balance);

};

//使用對象

var cardAA = new Card(1000,'james');

var cardBB = new Card(1001,'sun');

cardAA.SaveMoney(30);

cardBB.SaveMoney(80);

cardAA.ShowBalance();

cardBB.ShowBalance();

2、動態原型方法

//動態原型方法

//創建對象

function Card(sID,ourName){

this.ID = sID;

this.OurName = ourName;

this.Balance = 0;

if(typeof Card._initialized == "undefined"){

Card.prototype.SaveMoney = function(money){

this.Balance += money;

};

Card.prototype.ShowBalance = function(){

alert(this.Balance);

};

Card._initialized = true;

}

}

//使用對象

var cardAA = new Card(1000,'james');

var cardBB = new Card(1001,'sun');

cardAA.SaveMoney(30);

cardBB.SaveMoney(80);

cardAA.ShowBalance();

cardBB.ShowBalance();

JavaScript-給iframe裏的內容定義樣式
案例1:做一個通用的反饋表單應用在其它頁面的框架裏,要求在框架外面可以定義框架裏面的頁面樣式。程序代碼<iframe name="feedbackform" id="feedbackform" src="xx.aspx" mce_src="xx.aspx" width="755" height...查看完整版>>JavaScript-給iframe裏的內容定義樣式
 
javascript定義類的幾種方法
/* 工廠方式--- 創建並返回特定類型的對象的 工廠函數 ( factory function ) */ function createCar(color,doors,mpg){ var tempCar = new Object; tempCar.color = color; t...查看完整版>>javascript定義類的幾種方法
 
Javascript對象定義的幾種方式
一.工廠方式:先創建對象,再向對象添加方法和屬性,封閉後調用不要使用new操作符創建對象。使用這種方法有很多弊端,把方法定義在工廠函數內部的時候,每次調用的時候都會産生新的函數function factory(name,person...查看完整版>>Javascript對象定義的幾種方式
 
Javascript實例教程(10) 創建“後退”按鈕
利用javascript創建一個“後退”連接 在JavaScript中實現一個“後退”連接是相當輕易的。這個“後退”連接的功能的作用就象網頁中“後退”按鈕一樣,具體你可以使用以下代碼:<FORM><input type=button val...查看完整版>>Javascript實例教程(10) 創建“後退”按鈕
 
Javascript實例教程(14) JS代替CGI
使用javascript代替CGI你可能對CGI腳本比較熟悉,利用CGI你可以通過表單將數字或者變量從一個網頁上傳遞到另外一個網頁。當然,你可以利用“POST”將變量以獨立的線程進行傳遞而不顯示在浏覽器中,或者利用“GET”將...查看完整版>>Javascript實例教程(14) JS代替CGI
 
JavaScript基礎實例:如何計算24點
  <html>  <head>  <title>24點</title>  <meta name="author" content="dlpower@163.com">  <meta http-equiv="Content-Type" content="text/html; charset=GB2312">...查看完整版>>JavaScript基礎實例:如何計算24點
 
正則表達式在javascript中的幾個實例1(轉)
! 去除字符串兩端空格的處理如果采用傳統的方式,就要可能就要采用下面的方式了//清除左邊空格function js_ltrim(deststr){ if(deststr==null)return ""; var pos=0; var retStr=new String(deststr); if (retStr.len...查看完整版>>正則表達式在javascript中的幾個實例1(轉)
 
JavaScript類的靜態成員及其修改對象實例的數據
JavaScript靜態成員的定義,只需要在類的構造函數之外,使用類的名稱(即:構造函數的函數名稱)來定義,如:function MyClass(){}MyClass.staticMethod = staticMethod;function staticMethod(){}JavaScript的靜態成員...查看完整版>>JavaScript類的靜態成員及其修改對象實例的數據
 
javascript 對層下的表格加快捷鍵,最好有實例
<html> <head></head> <body> <div id="tablehtml"> <table border="1"> <tr> <td>6908741329326</td> <td>ewfdsfsdf</td> <td><input...查看完整版>>javascript 對層下的表格加快捷鍵,最好有實例
 
 
回到王朝網路移動版首頁