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物件
- js建立物件的幾種方式JS物件
- JS中建立函式的幾種方式JS函式
- javascript建立物件的幾種方式JavaScript物件
- JavaScript 建立類/物件的幾種方式JavaScript物件
- 在 .NET 中建立物件的幾種方式的對比物件
- JavaScript物件的建立方式有幾種?JavaScript物件
- [轉載]javascript建立物件的幾種方式JavaScript物件
- 一個人就需要物件之js中八種建立物件方式物件JS
- Java中建立物件的5種方式Java物件
- Flutter工具:Dart中幾種常用的Json轉Object方式FlutterDartJSONObject
- js建立物件的方式JS物件
- 建立物件的幾種模式物件模式
- JS 基礎篇(一):建立物件的四種方式JS物件
- js 中斷迴圈的幾種方式JS
- JS建立物件幾種不同方法詳解JS物件
- js獲取頁面dom元素的幾種常用方式JS
- JavaScript類建立的幾種方式JavaScript
- [php]建立物件的幾種形式PHP物件
- java建立物件的五種方式Java物件
- javascript建立物件的三種方式JavaScript物件
- JavaScript 建立物件的七種方式JavaScript物件
- 建立Session物件的兩種方式Session物件
- 在SpringMVC中獲取request物件的幾種方式SpringMVC物件
- js物件導向設計---建立物件的方式JS物件
- 【JS系列】一起理解物件的7種建立方式(全)JS物件
- SQL Server常用的幾種啟動方式SQLServer
- 執行緒池建立的幾種方式執行緒
- js函式使用的幾種方式JS函式
- JS遍歷物件的幾種方法JS物件
- js判斷物件的幾種方法JS物件
- JS中建立物件的方法JS物件
- js中關於定義類的幾種方式介紹JS
- AngularJS中獲取資料來源的幾種方式AngularJS
- sqlplus常用的幾種登入方式SQL
- 淺談iOS常用的幾種傳值方式iOS
- 建立幾個常用table展示方式外掛
- js實現繼承的幾種方式JS繼承