JavaScript 学习笔记 二 对象的访问

来源:互联网 发布:淘宝店铺导航条怎么做 编辑:程序博客网 时间:2024/05/21 07:05
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属性赋值为对象addressjack.addr = address;var ja = jack[addr];//我们在开发通用的工具包时,应该对用户可能的输入不做任何假设,                    //通过[属性名]这种形式则总是可以保证正确性的。alert(ja.xno);


1 楼 307622798 44 分钟前   引用 删除
博主你好,最近在看你的js系列文章,发现这篇文章运行有异常。var ja = jack[addr];这句话说addr is not defined 。请博主指教!
经测试,确实如其所说,谢谢指出 共同学习了

var ja = jack["addr"];//我们在开发通用的工具包时,应该对用户可能的输入不做任何假设,
                    //通过[属性名]这种形式则总是可以保证正确性的。
0 0