建構方法
function co ( {
this.name = '現代魔法';
this.job = 'Web 開發者';
this.coding = function ()
{ alert('我正在寫代碼' }
}
var coder = new coder();
alert(coder.name);
coder.coding();
工廠方法
工廠方法
複製程式碼
程式碼如下:
function createCoderFactory()
{
> obj.name = '現代魔法';
obj.name = '現代魔法'; obj.name = '程式設計師';
obj.job = '程式設計師';
obj.coding = function ()
🎜> };
return obj;
原型鏈
複製程式碼
程式碼如下:
function coder(){}
coder.prototype.name = '現代魔法';
coder.prototype.job = '程式設計師';coder.prototype.coding = function(){
alert('我正在寫程式碼');
複製程式碼
程式碼如下:
var coder1 = new coder(a); coder2 = new coder();alert(coder1.name); /*顯示現代魔法*/
coder2.name = 'nowamagic';
alert(coder1.name); /
alert(coder2.name); /*這也顯示nowamagic*/混合方式以上三種都有各自的缺點,所以我們要加以改進。
複製代碼
代碼如下:
function coder()
{
this .name = '現代魔法';
this.job = '程式設計師';}
coder.prototype.coding = function(){
alert('我正在寫程式碼');
};動態原鏈要解決前三種的缺點,還有一個方法。
複製代碼
代碼如下:
function coder()
{
this .name = '現代魔法';
this.job = '程式設計師';
if (typeof(coder._init) == 'undefined')
)
{ alert('我正在寫程式碼'); }}