這篇文章給大家分享的是有關(guān)javascript創(chuàng)建對象的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)建站是一家以成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、品牌設(shè)計(jì)、軟件運(yùn)維、營銷推廣、小程序App開發(fā)等移動開發(fā)為一體互聯(lián)網(wǎng)公司。已累計(jì)為成都玻璃隔斷等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開發(fā)服務(wù)。
創(chuàng)建方法:1、使用“var 對象名={屬性名1:值1,屬性名2:值2,...};”語句;2、使用“var 對象名 = new 構(gòu)造函數(shù)名(args);”語句;3、使用“Object.create(原型對象,descriptors)”語句。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
在 JavaScript 中創(chuàng)建對象的方式有 3 種:
對象直接量
構(gòu)造對象
使用 Object.create
對象直接量
使用直接量可以快速創(chuàng)建對象,也是最高效、最簡便的方法。具體用法如下:
var objectName = { 屬性名1 : 屬性值1, 屬性名2 : 屬性值2, ... 屬性名n : 屬性值n };
在對象直接量中,屬性名與屬性值之間通過冒號進(jìn)行分隔,屬性值可以是任意類型的數(shù)據(jù),屬性名可以是 JavaScript 標(biāo)識符,或者是字符串型表達(dá)式。屬性于屬性之間通過逗號進(jìn)行分隔,最后一個(gè)屬性末尾不需要逗號。
示例
下面代碼使用對象直接量定義兩個(gè)對象。
var o = { //對象直接量 a : 1, //定義屬性 b : true //定義屬性 } var o1 = { //對象直接量 "a" : 1, //定義屬性 "b" : true //定義屬性 }
構(gòu)造對象
使用 new 運(yùn)算符調(diào)用構(gòu)造函數(shù),可以構(gòu)造一個(gè)實(shí)例對象。具體用法如下:
var objectName = new functionName(args);
參數(shù)說明如下:
objectName:返回的實(shí)例對象。
functionName:構(gòu)造函數(shù),與普通函數(shù)基本相同,但是不需要 return 返回值,返回實(shí)例對象,在函數(shù)內(nèi)可以使用 this 預(yù)先訪問。
args:實(shí)例對象初始化配置參數(shù)列表。
示例
下面示例使用不同類型的構(gòu)造函數(shù)定義各種實(shí)例。
var o = new Object(); //定義一個(gè)空對象 var a = new Array(); //定義一個(gè)空數(shù)組 var f = new Function(); //定義一個(gè)空函數(shù)
使用 Object.create
Object.create 是 ECMAScript 5 新增的一個(gè)靜態(tài)方法,用來創(chuàng)建一個(gè)實(shí)例對象。該方法可以指定對象的原型和對象特性。具體用法如下:
Object.create(prototype, descriptors)
參數(shù)說明如下:
prototype:必須參數(shù),指定原型對象,可以為 null。
descriptors:可選參數(shù),包含一個(gè)或多個(gè)屬性描述符的 JavaScript 對象。屬性描述符包含數(shù)據(jù)特性和訪問器特性,其中數(shù)據(jù)特性說明如下。
value:指定屬性值。
writable:默認(rèn)為 false,設(shè)置屬性值是否可寫。
enumerable:默認(rèn)為 false,設(shè)置屬性是否可枚舉(for/in)。
configurable:默認(rèn)為 false,設(shè)置是否可修改屬性特性和刪除屬性。
訪問器特性包含兩個(gè)方法,簡單說明如下:
set():設(shè)置屬性值。
get():返回屬性值。
示例
下面示例使用 Object.create定義一個(gè)對象,繼承 null,包含兩個(gè)可枚舉的屬性 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
感謝各位的閱讀!關(guān)于“javascript創(chuàng)建對象的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!