JS 面向?qū)ο蟮?鐘寫(xiě)法
更新時(shí)間:2009年07月31日 16:15:50 作者:
定義Circle類(lèi),擁有成員變量r,常量PI和計(jì)算面積的成員函數(shù)area()
Java代碼
//第1種寫(xiě)法
function Circle(r) {
this.r = r;
}
Circle.PI = 3.14159;
Circle.prototype.area = function() {
return Circle.PI * this.r * this.r;
}
var c = new Circle(1.0);
alert(c.area());
Java代碼
//第2種寫(xiě)法
var Circle = function() {
var obj = new Object();
obj.PI = 3.14159;
obj.area = function( r ) {
return this.PI * r * r;
}
return obj;
}
var c = new Circle();
alert( c.area( 1.0 ) );
Java代碼
//第3種寫(xiě)法
var Circle = new Object();
Circle.PI = 3.14159;
Circle.Area = function( r ) {
return this.PI * r * r;
}
alert( Circle.Area( 1.0 ) );
Java代碼
//第4種寫(xiě)法
var Circle={
"PI":3.14159,
"area":function(r){
return this.PI * r * r;
}
};
alert( Circle.area(1.0) );
Java代碼
//第5種寫(xiě)法
var Circle = new Function("this.PI = 3.14159;this.area = function( r ) {return r*r*this.PI;}");
alert( (new Circle()).area(1.0) );
大家來(lái)討論一下這五種寫(xiě)法,它們的優(yōu)缺點(diǎn),哪個(gè)比較規(guī)范,特別是最后兩種,經(jīng)常見(jiàn)到。
復(fù)制代碼 代碼如下:
//第1種寫(xiě)法
function Circle(r) {
this.r = r;
}
Circle.PI = 3.14159;
Circle.prototype.area = function() {
return Circle.PI * this.r * this.r;
}
var c = new Circle(1.0);
alert(c.area());
Java代碼
復(fù)制代碼 代碼如下:
//第2種寫(xiě)法
var Circle = function() {
var obj = new Object();
obj.PI = 3.14159;
obj.area = function( r ) {
return this.PI * r * r;
}
return obj;
}
var c = new Circle();
alert( c.area( 1.0 ) );
Java代碼
復(fù)制代碼 代碼如下:
//第3種寫(xiě)法
var Circle = new Object();
Circle.PI = 3.14159;
Circle.Area = function( r ) {
return this.PI * r * r;
}
alert( Circle.Area( 1.0 ) );
Java代碼
復(fù)制代碼 代碼如下:
//第4種寫(xiě)法
var Circle={
"PI":3.14159,
"area":function(r){
return this.PI * r * r;
}
};
alert( Circle.area(1.0) );
Java代碼
復(fù)制代碼 代碼如下:
//第5種寫(xiě)法
var Circle = new Function("this.PI = 3.14159;this.area = function( r ) {return r*r*this.PI;}");
alert( (new Circle()).area(1.0) );
大家來(lái)討論一下這五種寫(xiě)法,它們的優(yōu)缺點(diǎn),哪個(gè)比較規(guī)范,特別是最后兩種,經(jīng)常見(jiàn)到。
您可能感興趣的文章:
- JavaScript面向?qū)ο笕齻€(gè)基本特征實(shí)例詳解【封裝、繼承與多態(tài)】
- JS面向?qū)ο蠡A(chǔ)講解(工廠模式、構(gòu)造函數(shù)模式、原型模式、混合模式、動(dòng)態(tài)原型模式)
- Javascript 面向?qū)ο螅ㄒ唬?共有方法,私有方法,特權(quán)方法)
- 面向?qū)ο蟮腏avascript之二(接口實(shí)現(xiàn)介紹)
- js面向?qū)ο笾R?jiàn)創(chuàng)建對(duì)象的幾種方式(工廠模式、構(gòu)造函數(shù)模式、原型模式)
- javascript 面向?qū)ο笕吕砭氈當(dāng)?shù)據(jù)的封裝
- javascript 面向?qū)ο缶幊袒A(chǔ) 多態(tài)
- 徹底理解js面向?qū)ο笾^承
- JavaScript面向?qū)ο缶幊倘腴T(mén)教程
- js面向?qū)ο笾o態(tài)方法和靜態(tài)屬性實(shí)例分析
- JavaScript面向?qū)ο笾叽蠡驹瓌t實(shí)例詳解
相關(guān)文章
javascript面向?qū)ο蟮姆绞綄?shí)現(xiàn)的彈出層效果代碼
由于本人以前是.net程序員,所以即使現(xiàn)在在做前端,也習(xí)慣于用面向?qū)ο蟮姆绞骄帉?xiě)js腳本,我想如果你以前也是或者現(xiàn)在還是名第三代程序員的話(huà),應(yīng)該對(duì)此并不陌生。2010-01-01
JavaScript 常見(jiàn)對(duì)象類(lèi)創(chuàng)建代碼與優(yōu)缺點(diǎn)分析
這幾種javascript類(lèi)定義方式中,最常用的是雜合prototype/constructor 和 動(dòng)態(tài)prototype方式。2009-12-12
JavaScript 繼承機(jī)制的實(shí)現(xiàn)(待續(xù))
JavaScript繼承機(jī)制的實(shí)現(xiàn),后期會(huì)有一些補(bǔ)充。2010-05-05
javascript面向?qū)ο缶幊?一) 實(shí)例代碼
javascript面向?qū)ο缶幊虒?shí)例代碼,代碼也算比較基礎(chǔ)了,不懂得朋友可以參考腳本之家之前發(fā)布的文章。2010-06-06
AppBaseJs 類(lèi)庫(kù) 網(wǎng)上常用的javascript函數(shù)及其他js類(lèi)庫(kù)寫(xiě)的
AppBaseJs類(lèi)庫(kù)。一個(gè)借鑒了網(wǎng)上常用的函數(shù)及其他js類(lèi)庫(kù)寫(xiě)的,方便大家的調(diào)用。2010-03-03
javascript復(fù)制對(duì)象使用說(shuō)明
javascript復(fù)制對(duì)象使用說(shuō)明,需要的朋友可以參考下。2011-06-06

