js復雜數據類型------對象


對象:無序的鍵值對的集合

 

創建對象的兩種方式

字面量: var student = {};建了一個空對象

內置構造函數  var student = new Object();

 

對象的賦值和取值

取值:對象名.屬性名 ------如果存在,返回響應值;如果不存在,undefined

     對象名.方法名------直接獲取,返回函數體,對象名.方法名(),即調用這個方法

賦值(類似數組) 對象名.屬性名-----存在,直接覆蓋,不存在,新建屬性,在賦值

 

操作對象的兩種語法

  1. 點語法  對象名.屬性名: 簡單方便,不支持變量
  2. 中括號語法: 對象名[‘屬性名’] 靈活,支持字符串和變量

   對象名[變量名] :通過變量值找到屬性名,然后再去對象里面查找對應的值

對象的遍歷

for(var k in obj){……}

k鍵(屬性名)  obj[k] 值(屬性值)

 

批量創建對象

  1. 工廠函數:本質就是一個函數,將創建對象的代碼進行封裝成函數

特點:創建出來的類型都時Object類型

function createObject()({

var obj = {……};

return onj;

}

注意點:1.返回值---調用時通過傳過來的實參對對象進行具體的賦值

對象的方法中,this指的是當前的對象

  1. 自定義構造函數

特征:需要結合new使用,創建出來的對象有自己的類型

構造函數中new的作用

  1. 建立一個新對象,並指定類型
  2. 讓構造函數的this指向新建的構造函數
  3. 執行構造函數
  4. 返回新對象(實例)

構造函數的特點:

  1. 構造函數,就是一個函數
  2. 首字母大寫
  3. Js中內置了一些Array Object
  4. 可以自定義

補充:值類型和引用類型

值類型(簡單數據類型):在變量中存儲的是本身,賦值時,賦值的也是值本身,值傳遞時,傳的也是值本身

引用類型(復雜數據類型):在變量中存儲的是內存地址,賦值時,賦值的也是內存地址,傳遞時,傳的也是內存地址

注意點:javascript中字符串(string)是個特殊的類型,它是通過傳地址來賦值和傳遞,但是它是通過傳值比較的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM