04JS第八天 ----- js高級第二天 --- 定義對象+對象的相關操作+對象在內存中的存在形式

回顧:

 三、面向對象編程 

1、什麼是對象

ECMAScript-262 把對象定義爲:無序屬性的集合,其屬性可以包含基本值、對象或者函數

var obj = {

name:'張三',

age:20,

say:function(){},

sanwei:['100cm', '90cm', '105cm'],

abc:另外一個對象

};

我喜歡大眼睛、長頭髮、大長腿、會洗衣服、會做飯、會生孩子的女孩,比如有孫莉、冰冰….

上面一句話就描述了類和對象的關係,大眼睛、大長腿、長頭髮是類的屬性;會洗衣服、會做飯是類的方法;後面的符合條件的兩個女孩就是類的實例對象。

2面向對象編程

面向對象編程就是基於對象的編程。面向對象編程簡稱OOP(Object-Oritened Programming)爲軟件開發人員敞開了一扇大門,它使得代碼的編寫更加簡潔、高效、可讀性和維護性增強。它實現了軟件工程的三大目標:(代碼)重用性、(功能)擴展性和(操作)靈活性,它的實現是依賴於面向對象的三大特性:封裝、繼承、多態。在實際開發中 使用面向對象編程 可以實現系統化、模塊化和結構化的設計 它是每位軟件開發員不可或缺的一項技能。

定義對象:

1、new 內置函數

之前學習過的String對象、Date對象、Array對象、RegExp對象。使用這些對象的時候,可以new這些函數。然後將得到的返回值當做對象來使用。比如使用字符串對象:

var s = new String('hello world'); // 通過new內置的函數,得到對象。

2、直接量語法

直接量語法定義的對象,值可以是任何的數據類型:

直接量語法定義的對象中,this表示當前的對象:

3、new 構造函數方式

ES5中沒有類的概念,只有構造函數或構造器。要想得到對象,只能new一個構造函數。

什麼是構造函數什麼是普通函數

定義函數的時候,正常按照函數的語法來定義即可。如果這個函數正常使用,那麼還是一個函數,如果一個函數被new了,那麼這個函數就可以叫做構造函數。

對象的相關操作

1、添加成員

先定義兩個對象,一個用直接量語法,另一個用構造函數方式。

得到對象之後,可以爲對象添加一些成員(屬性和方法):

2、刪除成員

使用delete關鍵字來刪除對象的成員(屬性、方法);

另外,delete也可以刪除沒有用var聲明的變量。

對象在內存中的存在形式:

對象在傳值上是引用傳遞。在使用對象的時候,實際上都是使用的對象的地址。

代碼:根據構造函數得到兩個對象:

得到的兩個對象在內存中的形式:

在實際使用對象的時候實際上都是使用的對象的地址

小例子一:

小例子二:

小例子三:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章