天天看點

javascript對象

JavaScript是一種原型式(prototype-style)的OO語言

沒有類的概念,所有的一切都派生自現有對象的一個副本

JavaScript資料類型:

1、簡單類型:數字,字元串,布爾值,null值,undefined值

    數字,字元串,布爾值“貌似”對象,因為它們擁有方法,但它們是不可變的

2、其它都是對象:可變的鍵控集合。包括數組,函數,正規表達式等

對象:

對象是屬性的容器,其中每個屬性都擁有名字和值。

    屬性的名字:可以是包括空字元串在内的任意字元串

    屬性的值:除undefined值之外的任何值

對象是無類别的(class-free),對新屬性和的名字和值沒有限制。

對象合适收集管理資料

JavaScript的2種對象類型:

1、Function對象

    兩個子類别:

    1)Function執行個體,如alert(),可以使用參數來調用

    2)作為構造函數的Function,必須通過new操作符進行執行個體化

2、Object對象

繼承:

JavaScript包括一個原型鍊特征,允許對象繼承另一對象的屬性,繼承是通過從一個對象原型向另一個對象原型複制方法而實作

一、對象字面量,{}部分是對象字面量

var flight={

    airline:"jsadf";

    number:815;

    arrival:{

        time:"2011-1-17";

        city:"Los Angeles";

    }

};

二、檢索

var status = flight.status || "Unknown" ;        // 用 || 運算符充當預設值

用&&運算符來避免  嘗試檢索一個undefined值的屬性 導緻的TypeError異常

flight.equipment && flight.equipment.model    //flight.equipment可能為undefined

三、更新

對象中的值可以通過指派來更新

四、引用

對象通過引用傳遞,永遠不會被拷貝

五、原型

每個對象都連接配接到一個原型對象,并且它可以從中繼承屬性

是以通過字面量建立的對象都連接配接到Object.prototype這個JavaScript中的标準的對象

原型關系是一種動态的關系,如果我們添加一個新的屬性到原型中,該屬性會立即對所有基于該原型建立的對象可見。    !

六、反射

typeof操作符對确定屬性的類型很有幫助

hasOwnProperty方法驗證對象是否擁有獨有的屬性

七、枚舉

for  in  語句可以周遊一個對象中的是以屬性

八、删除

delete操作符删除對象的屬性

九、減少全局變量污染

JavaScript的内置對象:

1、Object:通用基礎對象,用來建立簡單的靜态對象

2、Function:是被所有使用參數的對象複制的對象,也是在腳本中定義函數時所建立的對象

3、Array:一種特殊的屬性和方法的集合

4、String,Boolean,Number:字元串,布爾值,數字

5、Math,Date,RegExp以及其它内置對象

所有内置對象都可以通過new關鍵字或者其他特殊的文法建立

{}花括号:是Object的簡寫

 [ ] 中括号:是Array的簡寫

繼續閱讀