javascript面向?qū)ο髣?chuàng)建對象的方式小結(jié)
本文實例講述了javascript面向?qū)ο髣?chuàng)建對象的方式。分享給大家供大家參考,具體如下:
方式一:通過內(nèi)置Object對象的方式創(chuàng)建 然后通過點語法,動態(tài)給對象創(chuàng)建屬性,方法
var o1 = new Object(); o1.name = 'Tom'; o1.sing = function() { console.log('I am singing'); }
方式二:通過字面量json形式創(chuàng)建對象
var o2 = { "name":"jackson", "age":"10", "say":function(){ console.log("say hi"); }; };
方式三:通過構(gòu)造函數(shù)創(chuàng)建
var o3 = function() { this.name = "Lucy", this.age = "10", this.say = function() { console.log("say hello"); } }
方式四:通過原型創(chuàng)建
var o4 = function() {} o4.prototype = { "name":"Taylor", "age":10, "say":function(){ console.log("say h1"); } }
方式五:通過原型和構(gòu)造函數(shù)混合的形式創(chuàng)建(推薦使用這種,原因:盡量將方法定義為原型方法,原型方法避免了每次調(diào)用構(gòu)造函數(shù)時對屬性或方法的構(gòu)造,節(jié)省空間,創(chuàng)建對象快)
var o5 = function() { this.name = 'James'; this.age = 10; } o5.prototype = { "say":function() { console.log("say hi"); } }
方式六:拷貝模式創(chuàng)建對象
// 先要有一個拷貝模塊 function extend(target,source){ for(var k in source){ target[k] = source[k]; } return target; }; var o6 = { "name":"o6", "age":10 } var o7 = { "say":function() { console.log('say hi'); } } // o6拷貝o7的方法,然后構(gòu)建成一個新的對象 var o8 = extend(o6,o7); o8.say(); // say hi
方式七:通過第三方庫來創(chuàng)建對象
有 base2.js 和 simplejavascriptinheritance.js 來實現(xiàn), 網(wǎng)上有資料。
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
- js 創(chuàng)建對象的多種方式與優(yōu)缺點小結(jié)
- 詳解js創(chuàng)建對象的幾種方式和對象方法
- JS中的函數(shù)與對象的創(chuàng)建方式
- JavaScript創(chuàng)建對象方式總結(jié)【工廠模式、構(gòu)造函數(shù)模式、原型模式等】
- JavaScript創(chuàng)建對象的常用方式總結(jié)
- JavaScript實現(xiàn)創(chuàng)建自定義對象的常用方式總結(jié)
- JavaScript創(chuàng)建對象的七種方式全面總結(jié)
- 基于JS對象創(chuàng)建常用方式及原理分析
- JavaScript創(chuàng)建對象的七種方式(推薦)
- JS創(chuàng)建對象的四種方式
相關(guān)文章
淺談對于“不用setInterval,用setTimeout”的理解
這篇文章主要介紹了淺談對于“不用setInterval,用setTimeout”的理解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08JS正則表達(dá)式實現(xiàn)字符串中連續(xù)在一起的字符去重
這篇文章主要給大家介紹了關(guān)于JS正則表達(dá)式實現(xiàn)字符串中連續(xù)在一起的字符去重的相關(guān)資料,學(xué)會正則表達(dá)式對開發(fā)者而言是個非常有用的技能,很多功能可以簡單的用一句正則來實現(xiàn),需要的朋友可以參考下2023-11-11不依賴Flash和任何JS庫實現(xiàn)文本復(fù)制與剪切附源碼下載
本篇文章給大家分享的文本復(fù)制與剪切板功能,實現(xiàn)此功能不依賴falsh插件和任何js庫實現(xiàn)的,感興趣的朋友一起看看吧2015-10-10JavaScript中async與await實現(xiàn)原理與細(xì)節(jié)
這篇文章主要介紹了JavaScript中async與await實現(xiàn)原理與細(xì)節(jié),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09性能優(yōu)化篇之Webpack構(gòu)建代碼質(zhì)量壓縮的建議
這篇文章主要介紹了性能優(yōu)化篇之Webpack構(gòu)建代碼質(zhì)量壓縮的建議,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04javascript實現(xiàn)根據(jù)漢字獲取簡拼
這里給大家分享一個JavaScript實現(xiàn)的根據(jù)漢字可以自動轉(zhuǎn)換簡拼代碼,有需要的朋友可以參考一下,并非本人原創(chuàng)來自網(wǎng)絡(luò)。2016-09-09JavaScript使用Max函數(shù)返回兩個數(shù)字中較大數(shù)的方法
這篇文章主要介紹了JavaScript使用Max函數(shù)返回兩個數(shù)字中較大數(shù)的方法,涉及javascript中Max函數(shù)的使用技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04