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

