JS学习(二)对象属性的获取和访问

var array = ["one","two","three"];//数组
var obj = {//对象
    field : "self",
    printInfo : function (){
        alert(this.field);
    },
    outter:{
        inne : "inner text",
        printInnerText:function(){
            alert(this.inne);
        }
    }

//点运算符的左边为一个对象(属性的集合),应该注意的是右边的值除了作为左边的对象的属性外,同时还可能是它自己的右边的值的对象:
};
var obj2 = {
    "self.ref" : obj //一个好的解决方法是使用中括号 [   ] 运算符来访问:
};
obj.printInfo();
obj.outter.printInnerText();
obj2["self.ref"].outter.printInnerText();
 
for(var key in obj2){alert(key+":"+obj2[key]);}

//建议在不知道对象的内部结构的时候(比如要遍历对象来获取某个属性的值),
//一定要使用中括号,这样可以避免一些意想不到的 bug。
}
 
//JavaScript 对象的本身就是一个字典(dictionary),或者 Java 语言中的 Map,或者
//称为关联数组,即通过键来关联一个对象,这个对象本身又可以是一个对象,根据此定义,
//我们可以知道 JavaScript 对象可以表示任意复杂的数据结构。
 
//属性是由键值对组成的,即属性的名字和属性的值。
var jack = new Object();
jack.name = "jack";
jack.age = 26;
jack.birthday = new Date(1984,4,5);
 
var address = new Object();
address.street = "Huang Quan Road";
address.xno = "135";
 
//将addr属性赋值为对象address
jack.addr = address;
 
var ja = jack[addr];//我们在开发通用的工具包时,应该对用户可能的输入不做任何假设,
                    //通过[属性名]这种形式则总是可以保证正确性的。
alert(ja.xno);

猜你喜欢

转载自blog.csdn.net/bujiongdan/article/details/83093797