js中建立物件的幾種常用方式
大家知道使用類可以建立物件例項。
下面就介紹一下如何建立一個物件,方式有多種,需要的朋友可以做一下參考。
一.工廠方式:
[JavaScript] 純文字檢視 複製程式碼function Antzone(){ var obj=new Object; obj.webName="螞蟻部落"; obj.age=3; obj.show=function(){ console.log(this.webName) }; return obj; } var one = Antzone(); var two = Antzone(); one.show(); two.show();
名稱形象,上面的程式碼可以批量建立物件。
但是比較死板,任何一個物件都有完全相同的屬性和方法,程式碼修改如下:
[JavaScript] 純文字檢視 複製程式碼function Antzone(webName,age){ var obj=new Object; obj.webName=webName; obj.age=age; obj.show=function(){ console.log(this.webName) }; return obj; } var one = Antzone("螞蟻部落",3); var two = Antzone("網易",10); one.show(); two.show();
二.建構函式方式:
[JavaScript] 純文字檢視 複製程式碼function Antzone(webName,age){ this.webName=webName; this.age=age; this.show=function(){ console.log(this.webName) }; } var one =new Antzone("螞蟻部落",3); var two =new Antzone("網易",10); one.show(); two.show();
更多內容可以參閱javascript建構函式一章節。
三.原型方式:
[JavaScript] 純文字檢視 複製程式碼function Antzone(){ } Antzone.prototype.webName="螞蟻部落"; Antzone.prototype.age=3; Antzone.prototype.show=function(){ console.log(this.webName) }; var one =new Antzone(); var two =new Antzone(); one.show(); two.show();
更多關於prototype原型更多內容可以參閱javascript prototype原型一章節。
但是上面的方式有個問題,那就是新增的屬性是指向引用型別物件,看如下程式碼:
[JavaScript] 純文字檢視 複製程式碼function Antzone(){ } Antzone.prototype.webName="螞蟻部落"; Antzone.prototype.age=3; Antzone.prototype.arr=new Array(1,2); Antzone.prototype.show=function(){ console.log(this.arr) }; var one =new Antzone(); var two =new Antzone(); one.arr.push(3); one.show(); two.show();
上面的程式碼中,修改第一個例項的陣列,那麼其他例項的陣列也會發生變化,因為arr屬性指向同一個陣列物件。
使用混合方式就可以解決此問題,也更加靈活科學,程式碼如下:
[JavaScript] 純文字檢視 複製程式碼function Antzone(webName,age){ this.webName=webName; this.age=age; this.arr=new Array(1,2); } Antzone.prototype.show=function(){ console.log(this.arr) }; var one =new Antzone("螞蟻部落",3); var two =new Antzone("網易",10); one.arr.push(3); one.show(); two.show();
相關文章
- JS中建立函式的幾種方式JS函式
- 在 .NET 中建立物件的幾種方式的對比物件
- JavaScript物件的建立方式有幾種?JavaScript物件
- 一個人就需要物件之js中八種建立物件方式物件JS
- Java中建立物件的5種方式Java物件
- js建立物件的方式JS物件
- JS 基礎篇(一):建立物件的四種方式JS物件
- 建立物件的幾種模式物件模式
- js 中斷迴圈的幾種方式JS
- java建立物件的五種方式Java物件
- 建立Session物件的兩種方式Session物件
- js物件導向設計---建立物件的方式JS物件
- 【JS系列】一起理解物件的7種建立方式(全)JS物件
- sqlplus常用的幾種登入方式SQL
- Flutter工具:Dart中幾種常用的Json轉Object方式FlutterDartJSONObject
- js判斷物件的幾種方法JS物件
- JS遍歷物件的幾種方法JS物件
- JS中建立物件的方法JS物件
- 執行緒池建立的幾種方式執行緒
- 深入學習js之——建立物件的各種方式以及優缺點 #12JS物件
- JS 建立例項物件的四種模式JS物件模式
- JS遍歷物件屬性的7種方式JS物件
- 五種方法建立java物件,你知道幾種呢?Java物件
- 提供介面的幾種常用方式 (二,BeeGo)Go
- vue3 常用的幾種元件通訊方式Vue元件
- JavaScript物件與建立物件的方式JavaScript物件
- JavaScript 建立物件的方式JavaScript物件
- js建立物件的各種方法以及優缺點JS物件
- JS 總結之原型繼承的幾種方式JS原型繼承
- JS常用判斷空對像的幾種方法JS
- Java建立多執行緒的幾種方式實現Java執行緒
- 網路安全中常用的幾種加密方式都有哪些?加密
- JS中遍歷陣列、物件的方式JS陣列物件
- JS中的多種繼承方式JS繼承
- js建立物件的方法JS物件
- JS 建立物件JS物件
- 最全--Java中建立物件的5種方法Java物件
- sed中變數引用的幾種方式變數
- 從js中物件的建立方式和繼承,談談對原型鏈的理解JS物件繼承原型