歸納下js物件導向的幾種常見寫法

2022-03-08 15:25:43 字數 872 閱讀 7282

//定義circle類,擁有成員變數r,常量pi和計算面積的成員函式area() 

1.工廠方式

var circle = function

()

return

obj;

}var c = new

circle();

alert( c.area( 1.0 ) );

2.比較正規的寫法

function

circle(r)

circle.pi = 3.14159;

circle.prototype.area = function

() var c = new circle(1.0);

alert(c.area());

3.json寫法

var circle=

};alert( circle.area(1.0) );

4.有點變化,但是實質和第一種一樣

var circle=function

(r)circle.pi = 3.14159;

circle.prototype=

}var obj=new circle(1.0);

alert(obj.area())

circle.pi = 3.14159; 能夠放入屬性中寫成this.pi=3.14159;

常用為第一種和第三種

第三種寫法的擴充套件小例項

var show=)

},change:

function

());}}

show.init();

需要注意的是this的指向問題

Js物件導向的幾種方式

1.物件的字面量 var obj 2.建立例項物件 var obj new object 3.建構函式模式 function fn new fn 4.工廠模式 用乙個函式,通過傳遞引數返回物件 function fn params fn params 5.原型模式 function clock ho...

js 物件導向學習6 幾種物件導向寫法的對比

var o new object o.age 20 o.name lisa o.showname function 這種寫法建立了乙個物件o 給o新增屬性和方法,看似沒有問題但是在建立多個o 就需要重複的給o新增屬性,所以這種寫法是較為不通用的一種寫法,很多人想到乾脆用工廠建立o 就可以解決o無法重...

js 物件導向學習6 幾種物件導向寫法的對比

var o new object o.age 20 o.name lisa o.showname function 這種寫法建立了乙個物件o 給o新增屬性和方法,看似沒有問題但是在建立多個o 就需要重複的給o新增屬性,所以這種寫法是較為不通用的一種寫法,很多人想到乾脆用工廠建立o 就可以解決o無法重...