JavaScript面向对象特性实践一
来源:互联网 发布:华硕黄静 知乎 编辑:程序博客网 时间:2024/06/05 17:12
JavaScript面向对象特性实践一
javaScript 在构造类的时候有好几种方法,每种方法特点是不一样的。
1.构造/原型法
var BankCard=function(cardId,cardPassword)...{
this.cardId=cardId; //银行卡NO
this.cardPassword=cardPassword;// 银行卡密码
this.balance=100; //银行卡余额
}
BankCard.prototype=...{
queryBalance:function()...{
return this.balance;
},
setBalance:function(value)...{
this.balance=this.balance+value;
},
setPassword:function(password)...{
this.cardPassword=password;
}
}
function invoke(fun,value)...{
fun.setBalance(value);
balance=fun.queryBalance();
alert(balance);
}
//实例化一个银行卡对象
var objBankCard=new BankCard('admin','admin');
//传递对象引用,调用对象成员方法
invoke(objBankCard,200);
//-->
this.cardId=cardId; //银行卡NO
this.cardPassword=cardPassword;// 银行卡密码
this.balance=100; //银行卡余额
}
BankCard.prototype=...{
queryBalance:function()...{
return this.balance;
},
setBalance:function(value)...{
this.balance=this.balance+value;
},
setPassword:function(password)...{
this.cardPassword=password;
}
}
function invoke(fun,value)...{
fun.setBalance(value);
balance=fun.queryBalance();
alert(balance);
}
//实例化一个银行卡对象
var objBankCard=new BankCard('admin','admin');
//传递对象引用,调用对象成员方法
invoke(objBankCard,200);
//-->
2.工厂方式
function BankCard(cardId,cardPassword,balance)...{
var objBankCard=new Object();
objBankCard.cardId=cardId;
objBankCard.cardPassword=cardPassword;
objBankCard.balance=balance;
objBankCard.queryBalance=function()...{
return this.balance;
};
objBankCard.setBalance=function(value)...{
this.balance=this.balance+value;
};
objBankCard.setPassword=function(password)...{
this.cardPassword=password;
};
return objBankCard;
}
var obj=new BankCard("admin","admin",100);
alert(obj.queryBalance());
var objBankCard=new Object();
objBankCard.cardId=cardId;
objBankCard.cardPassword=cardPassword;
objBankCard.balance=balance;
objBankCard.queryBalance=function()...{
return this.balance;
};
objBankCard.setBalance=function(value)...{
this.balance=this.balance+value;
};
objBankCard.setPassword=function(password)...{
this.cardPassword=password;
};
return objBankCard;
}
var obj=new BankCard("admin","admin",100);
alert(obj.queryBalance());
3.构造函数方式
function BankCard(cardId,cardPassword,balance)...{
this.cardId=cardId;
this.cardPassword=cardPassword;
this.balance=balance;
this.queryBalance=function()...{
return this.balance;
};
this.setBalance=function(value)...{
this.balance=this.balance+value;
};
this.setPassword=function(password)...{
this.cardPassword=password;
};
}
var obj=new BankCard("admin","admin",100);
alert(obj.queryBalance());
this.cardId=cardId;
this.cardPassword=cardPassword;
this.balance=balance;
this.queryBalance=function()...{
return this.balance;
};
this.setBalance=function(value)...{
this.balance=this.balance+value;
};
this.setPassword=function(password)...{
this.cardPassword=password;
};
}
var obj=new BankCard("admin","admin",100);
alert(obj.queryBalance());
4.原型方式
//原型方式
function BankCard()...{
}
BankCard.prototype.carId="admin";
BankCard.prototype.cardPassword="admin";
BankCard.prototype.balance=100;
BankCard.prototype.queryBalance = function()...{
return this.balance;
};
BankCard.prototype.setBalance = function(value)...{
this.balance=this.balance+value;
};
BankCard.prototype.setPassword = function(password)...{
this.cardPassword=password;
};
var obj=new BankCard();
alert(obj.queryBalance());
function BankCard()...{
}
BankCard.prototype.carId="admin";
BankCard.prototype.cardPassword="admin";
BankCard.prototype.balance=100;
BankCard.prototype.queryBalance = function()...{
return this.balance;
};
BankCard.prototype.setBalance = function(value)...{
this.balance=this.balance+value;
};
BankCard.prototype.setPassword = function(password)...{
this.cardPassword=password;
};
var obj=new BankCard();
alert(obj.queryBalance());
在日常的工作当中,推荐大家是由"构造/原型"法或"原型"法。
- JavaScript面向对象特性实践一
- Javascript面向对象特性
- JavaScript面向对象特性
- JavaScript面向对象编程实践
- JavaScript面向对象代码实践
- javascript 面向对象(一)
- JavaScript面向对象(一)
- javaScript 面向对象一
- javascript面向对象(一)
- 【javascript】javascript之面向对象高级特性
- [转载]javascript 的面向对象特性参考
- 领悟 JavaScript 中的面向对象特性
- [转载]javascript 的面向对象特性参考
- 面向对象的 Javascript 语言特性:引用
- 面向对象的 Javascript 语言特性:引用
- javascript 面向对象特性与编程实现
- javascript 的面向对象特性参考
- javascript 面向对象特性与编程实现
- javascript小技巧&&JavaScript[对象.属性]集锦 [转载了多篇]
- REBOL語言設計者介紹我的Blog
- Flex中的弹出窗口
- SQL查询语句精华使用简要
- 浮点数相等比较和64位整数
- JavaScript面向对象特性实践一
- Action的配置属性及其含义
- 重定位的原理&实现
- 管理学经典定理汇粹
- 我的第二个JavaScript脚本--对table中的数据排序
- 我与西门子的面试全过程(一面+二面)_2008校园招聘_笔试与面试分享_UNUS.CN
- 如何简单的解决Oracle XDB与Tomcat等的8080端口的冲突!
- RO27 - RemObjects 3.0 SDK 综述
- css 冲突