JavaScript 学习笔记 二 对象的访问


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);


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

[color=red]var ja = jack["addr"];[/color]//我们在开发通用的工具包时,应该对用户可能的输入不做任何假设,
//通过[属性名]这种形式则总是可以保证正确性的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值