一:對象可以添加屬性,也可以添加函數。屬於一個對象的函數稱爲方法!!
<script type="text/javascript">
var student = {
name :"二狗",
age : 18,
printMassage : func(){
document.writeln("Hello" + **this**.name);//注意點(1)
//屬於student這個對象的func函數稱爲方法。
} //**這裏不加分號**
student.name = "狗蛋兒";//修改對象的屬性值。注意點(2)
student["age"] = 18; //修改對象的屬性。注意點(3)
student.number = 2015015015;//**增加對象的新屬性**
};
<script>
注意點(1): 在方法內部使用對象的屬性,要用this關鍵字。因爲函數作爲方法的時候,student這個對象會以關鍵字this的形式作爲參數傳遞給它。
注意點(2): 在修改和新增屬性值的時候,屬性和值之間用圓點表示。
注意點(3): 這是類數組索引法。屬性名作爲字符串放在一對方括號之間,這種取值 非常方便。這是因爲可以用變量表示屬性名。如下所示:
var student = {
name :"二狗",
age : 18
};
var **propName** = "age";
student[ **propName** ] = "狗蛋兒";
//在此基礎上,就可以枚舉對象屬性(帶回細講)
二:枚舉對象屬性(類數組索引法)
<script type="text/javascript">
var student = {
name :"二狗",
age : 18,
printMassage : func(){
document.writeln("Hello" + **this**.name);
}
};
for(var prop in student) {
document.writeln(prop + ":" + student[prop]);
} //這裏不加分號
<script>
for ……in 循環代碼塊中的語句會對student對象的每一個屬性執行一次。在每一次執行過程中,屬性名(name、age)會依次賦值給prop 變量。本例中student[prop],使用了類數組所引法獲取student對象的屬性值。