一、Object類型用於創建自定義對象(實例),創建方法如下:
1. 用new操作符后面跟Object的構造函數
var cat= new Object();//推薦 // var o=new Object;//這種方法有效,但不推薦用。 cat.name="sunny"; cat.legs=4;
2. 對象字面量字面量表示法(推薦)
var cat={ name:"sunny", legs:4
}
二、Object類型中所具有的任何屬性和方法,同樣存在於具體的對象(實例)中。
Object類型的屬性和方法如下:
- 構造函數:Object()
- hasOwnProperty(PropertyName):檢查給定的屬性是否在當前的對象實例中,注:PropertyName必須以字符串給定
- isPrototypeOf(object):檢查傳遞的對象,是否是另一個對象的原型。注:這里牽扯到原型和原型鏈,所以以后具體在講,目前大家先知道有這么個方法
- propertyIsEnumerable(PropertyName):檢查給定的屬性是否能用for-in 語句來枚舉。注:PropertyName必須以字符串給定
- toLocaleString():返回的字符串與執行環境的地區對應
- toString():返回字符串
- valueOf():返回對象的字符串、數值或布爾值表示
var cat={ name:"sunny", legs:4 }; alert('cat.hasOwnProperty("name"):'+cat.hasOwnProperty("name")+"\r\n"+
'cat.hasOwnProperty("age"):'+cat.hasOwnProperty("age")+"\r\n"+
'cat.propertyIsEnumerable("name"):'+cat.propertyIsEnumerable("name")+"\r\n"+
'cat.toLocaleString():'+cat.toLocaleString()+"\r\n"+
'cat.toString():'+cat.toString()+"\r\n"+
'cat.toLocaleString():'+cat.toLocaleString()+"\r\n"+
'cat.valueOf():'+cat.valueOf());
三、對象屬性的訪問方法
1. 點表示法 cat.name
2. 方括號表示法:cat["name"]
注1:方括號訪問的優點是:
A. 可以通過變量來訪問屬性
var pName="name";
alert(cat[pName]);
B. 如果屬性名中包含會導致語法錯誤的字符,或者屬性名使用的是關鍵字或保留字,也可以用方括號表示法。
cat["lovely brother"]="Tom"; 屬性名中包含空格所以不能使用點表示法訪問它
注2:訪問屬性推薦使用點表示法,除非沒辦法用點表示法的時候選擇用方括號訪問