欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript 實現(xiàn)類的多種方法實例

 更新時間:2013年05月01日 14:30:27   作者:  
JavaScript 實現(xiàn)類的多種方法實例,需要的朋友可以參考一下

構(gòu)造方法

復制代碼 代碼如下:

function coder()
{
    this.name = '現(xiàn)代魔法';
    this.job = 'Web 開發(fā)者';
    this.coding = function ()
    { alert('我正在寫代碼'); }
}

var coder = new coder();
alert(coder.name);
coder.coding();


工廠方法
復制代碼 代碼如下:

function createCoderFactory()
{
    var obj = new Object();
    obj.name = '現(xiàn)代魔法';
    obj.job = '程序員';
    obj.coding = function ()
    {
        alert('我正在寫代碼');
    };
    return obj;
}
var coder = createCoderFactory();
alert(coder.name);
coder.coding();

工廠方法和構(gòu)造方法都有著一個相同的缺點,就是每創(chuàng)建一個實例,都會實例化該類的每個函數(shù)。

原型鏈

復制代碼 代碼如下:

function coder(){}
coder.prototype.name = '現(xiàn)代魔法';
coder.prototype.job = '程序員';
coder.prototype.coding = function(){
    alert('我正在寫代碼');
};
var coder = new coder();
alert(coder.name);
coder.coding();

原型鏈有個缺點就是它所有屬性都共享,只要一個實例改變其他的都會跟著改變。如:

復制代碼 代碼如下:

var coder1 = new coder();
var coder2 = new coder();
alert(coder1.name);     /*顯示現(xiàn)代魔法*/
coder2.name = 'nowamagic';
alert(coder1.name);     /*顯示nowamagic*/
alert(coder2.name);     /*這個也顯示nowamagic*/

混合方式
以上三種都有著各自的缺點,所以我們要加以改進。

復制代碼 代碼如下:

function coder()
{
    this.name = '現(xiàn)代魔法';
    this.job = '程序員';
}
coder.prototype.coding = function(){
    alert('我正在寫代碼');
};

動態(tài)原鏈
要解決前三種的缺點,還有一種方法。

復制代碼 代碼如下:

function coder()
{
    this.name = '現(xiàn)代魔法';
    this.job = '程序員';
    if (typeof(coder._init) == 'undefined')
    {
        this.coding = function ()
        {
            alert('我正在寫代碼');
        };
        this._init = true;
    }
}

相關(guān)文章

  • js實現(xiàn)二代身份證號碼驗證詳解

    js實現(xiàn)二代身份證號碼驗證詳解

    本文給大家分享一段超級全面的二代身份證號碼驗證程序,由JS編寫而成,可以校驗身份證的地址碼、出生日期碼、順序碼和數(shù)字校驗碼。是身份證去偽存真的一大利器。
    2014-11-11
  • laydate如何根據(jù)開始時間或者結(jié)束時間限制范圍

    laydate如何根據(jù)開始時間或者結(jié)束時間限制范圍

    這篇文章主要為大家詳細介紹了laydate根據(jù)開始時間或者結(jié)束時間限制范圍的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • javascript 實現(xiàn)子父窗體互相傳值的簡單實例

    javascript 實現(xiàn)子父窗體互相傳值的簡單實例

    本篇文章主要是對javascript 實現(xiàn)子父窗體互相傳值的簡單實例進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-02-02
  • 微信小程序?qū)崿F(xiàn)流程進度的圖樣式功能

    微信小程序?qū)崿F(xiàn)流程進度的圖樣式功能

    最近正在做微信小程序,需要實現(xiàn)一個流程進度的圖樣式,下面小編給大家?guī)砹宋⑿判〕绦驅(qū)崿F(xiàn)流程進度的圖樣式功能實例代碼,需要的朋友參考下吧
    2018-01-01
  • Bootstrap實現(xiàn)下拉菜單多級聯(lián)動

    Bootstrap實現(xiàn)下拉菜單多級聯(lián)動

    這篇文章主要為大家詳細介紹了Bootstrap實現(xiàn)下拉菜單多級聯(lián)動,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 用javascript做拖動布局的思路

    用javascript做拖動布局的思路

    這幾天不是很忙,就找了些拖動布局方面的資料看看,也學著寫了個拖動布局的效果,沒想到花了好多時間, 七拼八湊,總算是把這個效果寫出來了。哎!還是js的功夫太差。因為是邊找資料邊寫的,很多地方印象不深, 時間一長,再重新寫估計也難,所以把當時的思路記錄一下!也希望大蝦指點一下!
    2008-05-05
  • javascript獲取select的當前值示例代碼(兼容IE/Firefox/Opera/Chrome)

    javascript獲取select的當前值示例代碼(兼容IE/Firefox/Opera/Chrome)

    本篇文章主要介紹了javascript獲取select的當前值示例代碼(兼容IE/Firefox/Opera/Chrome) 需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • js日歷相關(guān)函數(shù)使用詳解

    js日歷相關(guān)函數(shù)使用詳解

    這篇文章主要為大家詳細介紹了js日歷相關(guān)函數(shù)的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Javascript函數(shù)緩存的實現(xiàn)及應用場景

    Javascript函數(shù)緩存的實現(xiàn)及應用場景

    Javascript函數(shù)緩存是一種提高網(wǎng)頁性能的重要技術(shù),通過將函數(shù)結(jié)果存儲在緩存中,避免重復計算,從而提高頁面加載速度和響應速度,本文主要介紹了Javascript函數(shù)緩存的實現(xiàn)及應用場景,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • JS圖片延遲加載插件LazyImgv1.0用法分析【附demo源碼下載】

    JS圖片延遲加載插件LazyImgv1.0用法分析【附demo源碼下載】

    這篇文章主要介紹了JS圖片延遲加載插件LazyImgv1.0用法,結(jié)合實例形式分析了使用圖片延遲加載插件LazyImgv1.0的注意事項與核心操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下
    2017-09-09

最新評論