這篇文章主要介紹了javascript不使用new怎么創建對象的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇javascript不使用new怎么創建對象文章都會有所收獲,下面我們一起來看看吧。
成都網絡公司-成都網站建設公司成都創新互聯公司10年經驗成就非凡,專業從事網站建設、成都網站設計,成都網頁設計,成都網頁制作,軟文平臺,廣告投放平臺等。10年來已成功提供全面的成都網站建設方案,打造行業特色的成都網站建設案例,建站熱線:18982081108,我們期待您的來電!
javascript不使用new運算符也可以創建對象,方法:1、使用“var objectName={屬性名1:值1,屬性名2:值2,...};”語句;2、使用“Object.create(原型對象,descriptors)”語句。
本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
對象直接量
使用直接量可以快速創建對象,也是最高效、最簡便的方法。具體用法如下:
var objectName = { 屬性名1 : 屬性值1, 屬性名2 : 屬性值2, ... 屬性名n : 屬性值n };
在對象直接量中,屬性名與屬性值之間通過冒號進行分隔,屬性值可以是任意類型的數據,屬性名可以是 JavaScript 標識符,或者是字符串型表達式。屬性于屬性之間通過逗號進行分隔,最后一個屬性末尾不需要逗號。
示例1
下面代碼使用對象直接量定義兩個對象。
var o = { //對象直接量 a : 1, //定義屬性 b : true //定義屬性 } var o1 = { //對象直接量 "a" : 1, //定義屬性 "b" : true //定義屬性 }
示例2
屬性值可以是任意類型的值。如果屬性值是函數,則該屬性也稱為方法。
var o = { //對象直接量 a : function () { //定義方法 return 1; } }
示例3
如果屬性值是對象,可以設計嵌套結構的對象。
var o = { //對象直接量 a : { //嵌套對象 b : 1 } }
示例4
如果不包含任何屬性,則可以定義一個空對象。
var o = {} //定義一個空對象直接量
使用 Object.create
Object.create 是 ECMAScript 5 新增的一個靜態方法,用來創建一個實例對象。該方法可以指定對象的原型和對象特性。具體用法如下:
Object.create(prototype, descriptors)
參數說明如下:
prototype:必須參數,指定原型對象,可以為 null。
descriptors:可選參數,包含一個或多個屬性描述符的 JavaScript 對象。屬性描述符包含數據特性和訪問器特性,其中數據特性說明如下。
value:指定屬性值。
writable:默認為 false,設置屬性值是否可寫。
enumerable:默認為 false,設置屬性是否可枚舉(for/in)。
configurable:默認為 false,設置是否可修改屬性特性和刪除屬性。
訪問器特性包含兩個方法,簡單說明如下:
set():設置屬性值。
get():返回屬性值。
示例1
下面示例使用 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
示例2
下面示例使用 Object.create 定義一個與對象直接量具有相同原型的對象。
var obj = Object.create(Object.prototype, { //繼承Obj.prototype原型對象 x : { value : undefined, //屬性值 writable : true, //可寫 configurable : true, //可以配置 enumerable : true //可以枚舉 } }); console.log("obj.prototype = " + Object.getPrototypeOf(obj)); //"obj.prototype =[object, Object]" Object.getPrototypeOf() 函數可獲取原始對象的原型。如果要獲取對象的屬性描述符,可以使用 Object.getOwnPropertyDescriptor() 函數。
示例3
下面示例定義一個對象,使用訪問器屬性 b 來讀寫數據屬性 a。
var obj = Object.create(Object.prototype, { a : { //數據屬性a writable : true, value : "a" }, b : { //訪問器屬性b get : function () { return this.a; }, set : function (value) { this.a = value; }, } }); console.log(obj.a); //"a" console.log(obj.b); //"a" obj.b = 20; console.log(obj.b); //20
關于“javascript不使用new怎么創建對象”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“javascript不使用new怎么創建對象”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注創新互聯行業資訊頻道。
分享題目:javascript不使用new怎么創建對象
轉載來于:http://vcdvsql.cn/article26/gjiscg.html
成都網站建設公司_創新互聯,為您提供Google、移動網站建設、網站制作、做網站、自適應網站、域名注冊
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯