Object原生類型
一個無序的集合,可以存放任意類型對象
常作為字典使用 可以使用下面兩種方式使用
o.ItemName
o.["ItemName"]
可以使用for in 遍曆字典中每一項
1<script language="javascript" type="text/javascript">
2 function method1()
3 {
4 var o = new Object();
5 o["Name"]="陳亮";
6 o.Age = 21;
7 display("Name:"+o.Name);
8 display("Age:"+ o["Age"]);
9 display("<hr />");
10
11 //使用JSON方式建立一個對象
12 var o1 ={Name:"陳亮",Age:21};
13 display("Name:"+o.Name);
14 display("Age:"+ o["Age"]);
15 display("<hr />");
16
17
18
19 }
20
21 function method2()
22 {
23 var ob= new Object();
24 //使用迴圈給Object對象賦值
25 for(var i = 0 ; i < 10 ; i++)
26 {
27 key = "key"+i;
28 ob[key] = i;
29 }
30 //迴圈輸出Object對象的每一項
31 for(var k in ob)
32 {
33 display("key:"+k+" ----- value:"+ob[k]);
34 }
35 }
36
37 function display(text)
38 {
39 document.getElementById("message").innerHTML += (text + "<br />");
40 }
41 method1();
42 method2();
43</script>
Object原生類型擴充
Object.getType(instance) 函數
返回指定對象執行個體的類型。
Object.getTypeName(instance) 函數
返回標識對象的運行時類型名稱的字串。
注意:
不要擴充Object其prototype對象其擴充將會出現所有的對象中影響for操作的結果
Object.prorotype
出現在所有對象中
toSring()/toLocaleString()
--得到表示當前對象與環境無/有關的字串
valueOf()
--返回表示該對象的value(大部分類型會覆蓋這個方法)
hasOwnProperty(propertyName)
--對象上是否直接定義了某個屬性
--不考慮prototype鏈尋找
isPrototypeOf(obj)
--obj是不是當前對象的prorotype對象
--順著prototype鏈尋找
propertylsEnumerable(propertyName)
--某屬性是否可以遍曆
--不考慮prototype鏈