ECMAScript中的對象其實就是一組數據和功能的集合。
ECMAScript中Object是所有對象的基礎。
理解:Object類型是所有它的實例的基礎,換句話說,Object類型所具有的任何屬性和方法也同樣存在於更具體的對象中。
Object的實例都具有以下屬性和方法
1.Constructor:保存著用於創建當前對象的函數
2.hasOwnProperty(propertyName):用於檢查給定的屬性在當前對象實例中(而不是原型中)是否存在。其中作為參數的屬性名必須以字符串指定
3.isPrototypeOf(object):用於檢查傳入的對象是否是另一個對象的原型
4.toLocalString():返回對象的字符串表示,該字符串與執行環境相對應
5.toString():返回對象的字符串表示
6.valueOf():返回對象的字符串、數字或布爾值表示。通常與toString()方法的返回值相同
全局對象
全局對象在JavaScript中有著重要的用途: 全局對象的屬性是全局定義的符號, JavaScript程序可以直接使用,當解釋器啟動時,它將創建一個新的全局對象,並給它一組定義的初始屬性:
全局屬性,比如undefined, Infinity
全局函數,比如parseInt()
構造函數,比如Data(),
全局對象,比如Math和JSON
包裝對象
看這樣一個例子:
var s = "hello world!"; var word = s.substring(s.indexOf(" ")+1, s.length);
字符串既然不是對象,為什麼它會有屬性呢?只要引用了字符串s的屬性,JavaScript就會將字符串值通過調用new String(s)的方式轉換成對象,
同字符串一樣,數字和布爾值也有相應的方法。其他類似的包裝類:
Number object String object Boolean Object Function Object RegExp Object Error SyntaxError ReferenceError TypeError …不可變的原始值和可變的原始對象引用