日期:2014-05-16 浏览次数:20299 次
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);