一、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):檢查傳遞的對象,是否是另一個對象的原型。註:這裡牽扯到原型和原型鏈,所以以後具體在講,目前大家Crowdsourced Security Testing道有這麼個方法
- 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:訪問屬性推薦使用點標記法,除非沒辦法用點標記法的時候選擇用方括弧訪問