首頁 > web前端 > js教程 > JavaScript 實作類別的多種方法實例_javascript技巧

JavaScript 實作類別的多種方法實例_javascript技巧

WBOY
發布: 2016-05-16 17:34:53
原創
1010 人瀏覽過

建構方法

複製程式碼 程式碼如下:

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;

}var coder = createCoderFactory();alert(coder.name);2,coding(); 工廠方法和建構方法都有一個相同的缺點,就是每創建一個實例,都會實例化該類別的每個函數。
原型鏈




複製程式碼


程式碼如下:


function coder(){}
coder.prototype.name = '現代魔法';
coder.prototype.job = '程式設計師';coder.prototype.coding = function(){

    alert('我正在寫程式碼');

};var coder = new coder();alert(coder.name);coder.coding();原型鏈有個缺點就是它所有屬性都共享,只要一個實例改變其他的都會跟著改變。如:




複製程式碼


程式碼如下:


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('我正在寫程式碼');       }}
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板