標籤:javascript 對象 屬性
一.對象是javascript的基礎資料型別 (Elementary Data Type),是一種複合值,是屬性的容器,屬性是由索引值對組成的。
二.Js中對象分為:內建對象,宿主對象,自訂對象
三.對象的建立
(1)對象直接量:由若干個名/值對組成的映射表,是一個運算式,這個運算式的每次運算都建立並初始化一個新的對象。
例如:
var empty_oject={};定義沒有任何屬性的對象
var point={x:0,y:0};定義兩個屬性的對象
var stooge={
name:”xiyin”,
sex:”girl”,
“first-name”:”xi”
}
在對象自面量中,如果屬性名稱是一個合法的javascript標示符且不是保留字,則可以不適用引號括住屬性名稱,而上面的first-name是不合法的命名,所以。
(2)通過new建立對象:建立並初始化一個新對象,關鍵字new後面跟隨一個函數(稱為建構函式)調用。
例如:
var 0=new Object();//建立一個Null 物件, 與var 0={};等同
var a =new Array();//建立一個空數組,與 var a=[];等同
var d=new Date();//建立一個表示當前事件的Date對象
(3)Object.create(),ES5定義的,用來建立一個新對象,,第一參數,是這個對象的原型,第二個是可選的參數,用來對對象屬性進行進一步的描述
Var o3=Object.create(Object.prototype); 與Var 0=new Object();//建立一個Null 物件, 與var 0={};等同
四.對象屬性的查詢(檢索)和設定(更新),刪除屬性
(1)可以通過.號或者方括弧【】,來擷取屬性的值
Object.property
Object[“property”]
(2)對象裡的值可以通過指派陳述式來更新,如果屬性名稱已經存在於對象裡,那麼這個屬性的值就會被替換,如果對象之前沒有那個屬性名稱,那麼該屬性就被擴充到對象中。
Stooge[“first-name”]=”yin”;
(3)delete運算子可以刪除對象的屬性 delete stooge[“first-name”],delete運算子只能刪除自有屬性,不能刪除繼承屬性
五.檢測屬性:判斷某個屬性是否存在於某個對象中
(1)In運算子:左側是屬性名稱(字串),右側是對象,如果對象的自有屬性,或者繼承屬性中包含這個屬性,則返回true.
var o={x:1}
“x” in o //true
“y”in o //false
“toString” in o //true o繼承toString屬性
(2)對象的hasOwnProperty()方法用來檢測給定的名字是否是對象的自有屬性,對於繼承屬性它則返回false.
(3)propertyIsEnumerable(),只有檢測到是自有屬性且這個屬性的可枚舉性為true時,它才返回true
六.序列化對象
序列化對象是指對象的狀態轉換為字串,也可將字串還原為對象。
ES5提供了內建函數JSON.stringify()和JSON.parse()用來序列化和還原為javascript對象(JSON--javascript object notation javascript對象標記法)
七.對象方法
(1)toString()方法,沒有參數,返回一個表示調用這個方法的對象值的字串
本文出自 “夢想需要堅持” 部落格,請務必保留此出處http://xiyin001.blog.51cto.com/9831864/1761142
javascript對象的學習與總結