JS 面向?qū)ο蟮?鐘寫法
更新時間:2009年07月31日 16:15:50 作者:
定義Circle類,擁有成員變量r,常量PI和計算面積的成員函數(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)缺點,哪個比較規(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)缺點,哪個比較規(guī)范,特別是最后兩種,經(jīng)常見到。
您可能感興趣的文章:
- JavaScript面向?qū)ο笕齻€基本特征實例詳解【封裝、繼承與多態(tài)】
- JS面向?qū)ο蠡A(chǔ)講解(工廠模式、構(gòu)造函數(shù)模式、原型模式、混合模式、動態(tài)原型模式)
- Javascript 面向?qū)ο螅ㄒ唬?共有方法,私有方法,特權(quán)方法)
- 面向?qū)ο蟮腏avascript之二(接口實現(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)屬性實例分析
- JavaScript面向?qū)ο笾叽蠡驹瓌t實例詳解
相關(guān)文章
javascript 面向?qū)ο缶幊袒A(chǔ) 多態(tài)
javascript 面向?qū)ο缶幊袒A(chǔ) 多態(tài) 的實現(xiàn)方法說明,大家可以看下下面的代碼。2009-08-08學(xué)習(xí)JS面向?qū)ο蟪晒?借國慶發(fā)布個最新作品與大家交流
學(xué)習(xí)JS面向?qū)ο蟪晒?,借國慶發(fā)布個最新作品與大家交流,大家可以看下。2009-10-10JavaScript isPrototypeOf和hasOwnProperty使用區(qū)別
JavaScript isPrototypeOf和hasOwnProperty的使用技巧,需要的朋友的朋友可以參考下。2010-03-03javascript 面向?qū)ο缶幊袒A(chǔ):繼承
"繼承是面向?qū)ο箝_發(fā)的又一個重要概念,它可以將現(xiàn)實生活的概念對應(yīng)帶程序邏輯中"?!? 雖然在JavaScript中沒有專門的機(jī)制來實現(xiàn)類的繼承,但可以通過拷貝一個類的prototype 到另外一個類來實現(xiàn)繼承”。2009-08-08