首頁  >  文章  >  web前端  >  js物件的詳細介紹

js物件的詳細介紹

零下一度
零下一度原創
2017-06-28 09:36:061363瀏覽

a.  js物件都是關聯數組

b.  inherit();傳回一個繼承自原型物件p的屬性的新物件

 

物件的方法:

  建立(create)  設定(set)  尋找(query) 刪除(delete)  偵測(test)與枚舉(enumerate)

建立物件的方法:

#物件直接量  關鍵字new  es5中的Object.create()

  var aa=Object.create({"x":0,"y":1})

屬性的讀取與修改:

  1.通過. 連線            屬性不可以改變,且無法改變

  2.透過object['xxx'];  

##  2.透過object['xxx'];  xx'+a];   a可以是個變量,這樣屬性就不確定了,可以在運行中更改

  3.查詢一個沒有的屬性會返回undefined

#  4.查詢一個對象的屬性,如果物件不存在,就會拋出一個錯誤。如果查詢某物件的屬性,不讓他報錯可以這樣:

    var a=b&&b.c&&b.c.d;

屬性的刪除

  1. delete只能斷開宿主與宿主物件的聯繫,而不會去操作屬性中的屬性,不能刪除透過變數宣告或函數宣告所建立的全域全域物件屬性,成功傳回true,失敗傳回false

    delete a.b// a不再擁有屬性b

    delete a['b']//a不再擁有屬性b

屬性的檢測

  1.in運算子,hasOwnProperty(), propertyIsEnumerable()

    in左側屬性名,有側是物件如果物件的自有屬性或繼承屬性包含這個屬性就回傳true,否則false

    var a={x:1 }     a.hasOwnPreperty('x');//true

    propertyIsEnumerable()是hasOwnPreperty()的增強版,只有屬性是可枚舉的,並且屬於這個對象,才返回true

##” ##  2.最簡單的方法! ==是否為undefined

屬性的枚舉

  1.在程式碼中給物件新增的所有屬性都是可枚舉的,在for/in中我們需要跳過一些屬性

    for(p in o){

      if(!o.hasOwnproperty(p)) continue ;//就跳過繼承屬性

     for(p in o){

###      if(typeof o[p]==="function") continue ;//跳過方法#######    }######  2.在es5中多了兩個函數######    Object.keys();//傳回一個數組,這個數組由物件中可枚舉的自有屬性所組成######    Object.getOwnPropertyNames(); //傳回物件中所有自有屬性的名稱#######屬性getter和setter (存取器屬性)#######  1.var 0={######    a:1,/ /普通的資料屬性###### ######    //存取器屬性都是成對定義的函數######    get b(){這裡是函數體},#### ###    set c(){這裡是函數體}######          }#######為物件的三個屬性######  1.原型屬性:###### 物件的三個屬性######var. ={x:1};//定義一個原型物件######    var o=Object.create(p);使用這個原型建立一個物件######    p.isPrototypeOf(0);/// true,o繼承自p######    Object.prototype.isPrototypeOf(o);//p繼承自Object.prototype######  2.類屬性######  3.可擴展性透過把物件傳入Object.esExtensible()判斷物件是否是可擴展的######    Object.prevenExtensions()將帶轉換的物件作為參數傳入去,就會變成不可擴展的,注意,轉換成就不能轉換回來了######    Object.seal()不僅能夠把物件設為不可擴展,而且能把其自身的所有自有屬性設為不可配置#######    isSealed()檢測對象是否封閉######    Object.freeze()  凍結,不光不可配置,而且止咳可讀######    Object.isFrozen()  檢查物件是否凍結###############################################################################################對於物件###  1:JSON.stringify();//轉換為JSON字串######  2::JSON.parse();//轉換為物件#######物件方法:### ###  1.toString();######  2.toLocaleString();######  3.toJSON();######  4:valueOf();####

以上是js物件的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn