javascript百炼成仙 第一章 掌握JavaScript基础1.8 对象的取值

“小娃娃,我现在问你,如果我事先不知道对象的某个属性叫什么,那又该怎么访问对象中对应这个属性的值呢?”叶老笑呵呵地问到。

“什么什么,事先都不知道对象的属性名称,那怎么可能访问得到啊,这我可不知道了,我想这是不可能的。”叶小凡想了想,赶紧摇头。

“这样吧,我换一种说法。我想你现在已经知道对象可以通过一个‘.’号来访问里面的某一个数据。比如…”说着,叶老随手一挥,一个对象就生成出来。

var container = {
 	caoyao : "解毒草" ,
	feijian: "乌木剑"
}; 

“我现在要得到解毒草,就直接用container去调用它的caoyao属性。”

container.caoyao

“这样做的确是可以的,但是如果遇到这种情况,就是我事先也不知道调用的属性叫什么名字,我用一个变量去定义属性呢?”说着,叶老又随手一挥,定义了一个变量:

var container = {
 	caoyao : "解毒草" ,
	feijian: "乌木剑"
}; 
var prop = "caoyao";

“这…”叶小凡也陷入沉思,过了许久,缓缓说道:“直接点prop肯定不行,那样的话container去调用的肯定是一个叫做prop的属性。而事实上,container对象里面是没有一个叫做prop的属性的,得到的结果肯定是undefined。”

听到这里,就连叶老也向叶小凡投去赞赏的目光,继而说道:“你的分析没有错,这里真的不能再用之前的那种方法了。小娃娃,你且看好!”话音刚落,叶老就打出了新的代码:

var container = {
 	caoyao : "解毒草" ,
	feijian: "乌木剑"
}; 
var prop = "caoyao";
console.log(container[prop]);

在这里插入图片描述

“这!”叶小凡惊呼。

看着叶小凡惊讶的样子,叶老似乎有些得意。

“小娃娃,这边是我教你的新技巧,对象不仅仅可以用点去访问它的一个属性,也可以用中括号。如果用中括号,里面就允许你写一个变量。当然了,你写字符串也是可以的。”

似乎是担心叶小凡理解不了,叶老又补充了一行代码:
在这里插入图片描述

过了好一会儿,叶小凡才回味过来,说道:“我明白了,如果事先属对象性的名称未知,或者说调用的属性是动态变化的,就不能用点号了。用中括号的方式可以最大程度地提升对象调用属性的灵活度!”

下一节:javascript百炼成仙 第一章 掌握JavaScript基础 1.9 循环遍历的奥妙

评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

剽悍一小兔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值