溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javascript創(chuàng)建對象的示例分析

發(fā)布時間:2021-06-30 09:57:07 來源:億速云 閱讀:143 作者:小新 欄目:web開發(fā)

這篇文章給大家分享的是有關javascript創(chuàng)建對象的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創(chuàng)建方法:1、使用“var 對象名={屬性名1:值1,屬性名2:值2,...};”語句;2、使用“var 對象名 = new 構造函數(shù)名(args);”語句;3、使用“Object.create(原型對象,descriptors)”語句。

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

在 JavaScript 中創(chuàng)建對象的方式有 3 種:

  • 對象直接量

  • 構造對象

  • 使用 Object.create

對象直接量

使用直接量可以快速創(chuàng)建對象,也是最高效、最簡便的方法。具體用法如下:

var objectName = {
    屬性名1 : 屬性值1,
    屬性名2 : 屬性值2,
    ...
    屬性名n : 屬性值n
};

在對象直接量中,屬性名與屬性值之間通過冒號進行分隔,屬性值可以是任意類型的數(shù)據(jù),屬性名可以是 JavaScript 標識符,或者是字符串型表達式。屬性于屬性之間通過逗號進行分隔,最后一個屬性末尾不需要逗號。

示例

下面代碼使用對象直接量定義兩個對象。

var o = {  //對象直接量
    a : 1,  //定義屬性
    b : true  //定義屬性
}
var o1 = {  //對象直接量
    "a" : 1,  //定義屬性
    "b" : true  //定義屬性
}

構造對象

使用 new 運算符調用構造函數(shù),可以構造一個實例對象。具體用法如下:

var objectName = new functionName(args);

參數(shù)說明如下:

  • objectName:返回的實例對象。

  • functionName:構造函數(shù),與普通函數(shù)基本相同,但是不需要 return 返回值,返回實例對象,在函數(shù)內可以使用 this 預先訪問。

  • args:實例對象初始化配置參數(shù)列表。

示例

下面示例使用不同類型的構造函數(shù)定義各種實例。

var o = new Object();  //定義一個空對象
var a = new Array();  //定義一個空數(shù)組
var f = new Function();  //定義一個空函數(shù)

使用 Object.create

Object.create 是 ECMAScript 5 新增的一個靜態(tài)方法,用來創(chuàng)建一個實例對象。該方法可以指定對象的原型和對象特性。具體用法如下:

Object.create(prototype, descriptors)

參數(shù)說明如下:

  • prototype:必須參數(shù),指定原型對象,可以為 null。

  • descriptors:可選參數(shù),包含一個或多個屬性描述符的 JavaScript 對象。屬性描述符包含數(shù)據(jù)特性和訪問器特性,其中數(shù)據(jù)特性說明如下。

  • value:指定屬性值。

  • writable:默認為 false,設置屬性值是否可寫。

  • enumerable:默認為 false,設置屬性是否可枚舉(for/in)。

  • configurable:默認為 false,設置是否可修改屬性特性和刪除屬性。

訪問器特性包含兩個方法,簡單說明如下:

  • set():設置屬性值。

  • get():返回屬性值。

示例

下面示例使用 Object.create定義一個對象,繼承 null,包含兩個可枚舉的屬性 size 和 shape,屬性值分別為 "large" 和 "round"。

var newObj = Object.create (null, {
    size : {  //屬性名
        value : "large",  //屬性值
        enumerable : true  //可以枚舉
    },
    shape : {  //屬性名
        value : "round",  //屬性值
        enumerable : true  //可以枚舉
    }
});
console.log(newObj.size);  //large
console.log(newObj.shape);  //round
console.log(Object.getPrototypeOf(newObj));  //null

感謝各位的閱讀!關于“javascript創(chuàng)建對象的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI