javascript面向對象創(chuàng)建對象的方式小結
本文實例講述了javascript面向對象創(chuàng)建對象的方式。分享給大家供大家參考,具體如下:
方式一:通過內置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"); }; };
方式三:通過構造函數創(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"); } }
方式五:通過原型和構造函數混合的形式創(chuàng)建(推薦使用這種,原因:盡量將方法定義為原型方法,原型方法避免了每次調用構造函數時對屬性或方法的構造,節(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的方法,然后構建成一個新的對象 var o8 = extend(o6,o7); o8.say(); // say hi
方式七:通過第三方庫來創(chuàng)建對象
有 base2.js 和 simplejavascriptinheritance.js 來實現, 網上有資料。
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。
更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。
相關文章
淺談對于“不用setInterval,用setTimeout”的理解
這篇文章主要介紹了淺談對于“不用setInterval,用setTimeout”的理解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08JavaScript中async與await實現原理與細節(jié)
這篇文章主要介紹了JavaScript中async與await實現原理與細節(jié),文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09JavaScript使用Max函數返回兩個數字中較大數的方法
這篇文章主要介紹了JavaScript使用Max函數返回兩個數字中較大數的方法,涉及javascript中Max函數的使用技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04