午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    學習javascript(8)
    來源:易賢網 閱讀:770 次 日期:2014-09-09 11:43:58
    溫馨提示:易賢網小編為您整理了“學習javascript(8)”,方便廣大網友查閱!

    創(chuàng)建自己的對象

    要創(chuàng)建自己的對象實例,必須首先為其定義一個構造函數(shù)。構造函數(shù)創(chuàng)建一個新對象,賦予對象屬性,并在合適的時候賦予方法。例如,下面的示例為 pasta 對象定義了構造函數(shù)。注意 this 關鍵字的使用,它指向當前對象。

    // pasta 是有四個參數(shù)的構造器。

    function pasta(grain, width, shape, hasEgg)

    {

    // 是用什么糧食做的?

    this.grain = grain;

    // 多寬?(數(shù)值)

    this.width = width;

    // 橫截面形狀?(字符串)

    this.shape = shape;

    // 是否加蛋黃?(boolean)

    this.hasEgg = hasEgg;

    }

    定義了對象構造器后,用 new 運算符創(chuàng)建對象實例。

    var spaghetti = new pasta("wheat", 0.2, "circle", true);

    var linguine = new pasta("wheat", 0.3, "oval", true);

    可以給對象實例添加屬性以改變該實例,但是用相同的構造器生成的其他對象定義中并不包括這些屬性,而且除非你特意添加這些屬性那么在其他實例中并不顯示出來。如果要將對象所有實例的附加屬性顯示出來,必須將它們添加到構造函數(shù)或構造器原型對象(原型在高級文檔中討論)中。

    // spaghetti 的附加屬性。

    spaghetti.color = "pale straw";

    spaghetti.drycook = 7;

    spaghetti.freshcook = 0.5;

    var chowFun = new pasta("rice", 3, "flat", false);

    // chowFun 對象或其他現(xiàn)有的 pasta 對象

    // 都沒有添加到 spaghetti 對象

    // 的三個新屬性。

    // 將屬性‘foodgroup’加到 pasta 原型對象

    // 中,這樣 pasta 對象的所有實例都可以有該屬性,

    // 包括那些已經生成的實例。

    pasta.prototype.foodgroup = "carbohydrates"

    // 現(xiàn)在 spaghetti.foodgroup、chowFun.foodgroup,等等

    // 均包含值“carbohydrates”。

    在定義中包含方法

    可以在對象的定義中包含方法(函數(shù))。一種方法是在引用別處定義的函數(shù)的構造函數(shù)中添加一個屬性。例如,下面的示例擴充上面定義的 pasta 構造函數(shù)以包含 toString 方法,該方法將在顯示對象的值時被調用。

    // pasta 是有四個參數(shù)的構造器。

    // 第一部分與上面相同。

    function pasta(grain, width, shape, hasEgg)

    {

    // 用什么糧食做的?

    this.grain = grain;

    // 多寬?(數(shù)值)

    this.width = width;

    // 橫截面形狀?(字符串)

    this.shape = shape;

    // 是否加蛋黃?(boolean)

    this.hasEgg = hasEgg;

    // 這里添加 toString 方法(如下定義)。

    // 注意在函數(shù)的名稱后沒有加圓括號;

    // 這不是一個函數(shù)調用,而是

    // 對函數(shù)自身的引用。

    this.toString = pastaToString;

    }

    // 實際的用來顯示 past 對象內容的函數(shù)。

    function pastaToString()

    {

    // 返回對象的屬性。

    return "Grain: " + this.grain + "\n" +

    "Width: " + this.width + "\n" +

    "Shape: " + this.shape + "\n" +

    "Egg?: " + Boolean(this.hasEgg);

    }

    var spaghetti = new pasta("wheat", 0.2, "circle", true);

    // 將調用 toString() 并顯示 spaghetti 對象

    // 的屬性(需要Internet 瀏覽器)。

    window.alert(spaghetti);

    更多信息請查看IT技術專欄

    更多信息請查看腳本欄目
    易賢網手機網站地址:學習javascript(8)

    2025國考·省考課程試聽報名

    • 報班類型
    • 姓名
    • 手機號
    • 驗證碼
    關于我們 | 聯(lián)系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網