javascript百炼成仙 第一章 掌握JavaScript基础1.7 对象数据类型

听到这句话,叶小凡一顿,动作停止了下来。

对象数据类型,这在JavaScript基础修炼要诀中只是提了一下,但是并没有细讲,这个对象数据类型一直以来都深深地勾起了叶小凡的好奇心。

“小娃娃,相见是缘,既然你感兴趣我便教你一教。你且听好,在JavaScript中,数据可分为两类,分别为原生数据类型和对象数据类型。所谓对象数据类型,是一种复合型的数据类型。它可以把多个数据放到一起,就好像一个篮子一样。在这个篮子里面的每一个数据,可以看做是一个单元,他们都有自己的名字和值。”

叶小凡被叶老的话深深地打动了,立刻聚精会神地听起来。

“现在你相信了,我可还是妖怪?”

叶小凡嘿嘿一笑,重新把戒指戴好。

“小娃娃,你叫什么?”

“叶小凡!”

“嗯,老夫姓叶你也姓叶,确实有缘。小娃娃,我且问你,你可愿意拜我为师?”

“弟子愿意!”

说完,叶小凡将戒指摘下放在身前的岩石之上,开始行拜师之礼。叶老虽然没有形体,但是却能看到一清二楚,待所有礼节完毕,叶老这才满意地点了点头。

“很好,小娃娃,你可听好。对象数据类型比起原生的数据类型可以说是强大了不少,原生数据类型,比如数值型,浮点型,boolean类型等,都是只能存放一些直接量,也就是说,单一的数据。而对象类型却是可以存放一大堆数据的集合。这些数据都有自己的名字,比如…”

忽然,叶小凡心头一亮,感觉有一种清晰的画面传来。

“我现在没有形体,但是却可以用意念来给你做演示,小娃娃,你且看好。现在我给你创建一个对象。”

var container = {}; 

“创建对象就是用一个大括号吗?”

“这是创建对象的一种方式,也是最常用的方式。创建对象以后,你就相当于开辟了一块内存,对象包含若干的数据。每一个数据都有自己的名字和值。对象好比是一个容器,现在我在这个容器里面放一个数据,你且看好!”

var container = {
 	caoyao : "草药"
}; 

“小娃娃,你可有看明白?”

“前辈,您刚才说对象数据类型里面可以放若干个数据,那现在里面是不是有一个数据。数据的名字叫做caoyao,值是字符串类型的草药?”。叶小凡两眼放光,回答道。

“嗯,小娃娃,看来你的悟性还可以。在这个例子中,caoyao也叫作键,草药叫做值。它是一种键值对的形式。”叶老哈哈大笑。

“键值对,键值对。一个键对应一个值,一个键和一个值就凑成了一对。键和值中间用冒号。哦,我明白了!”叶小凡恍然大悟,随即又问到,“那么,前辈老爷爷,您方才不是说对象数据类型里面可以放若干个数据吗。现在里面只有一个,怎么加第二个呢?”

“嗯,小娃娃,你这个问题问得很好。你且听好,如果你想要在一个对象里面添加新的数据,就需要加一个逗号,然后写上新的键值对就行了。”

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

“小娃娃,我现在给你演示的方式,是在创建对象以后立刻在对象里面设置键值对。其实还有另外的办法,那就是在对象创建之后,再在外面对这个对象的变量进行操作。你看好。我现在用新的办法改写刚才的例子。”

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

“虽然我不太明白这里面的玄妙,但是我大概能猜到caoyao是container这个对象的属性,似乎就是把刚才写在{}里面的东西在外面重新写了一次的意思吧。”

“嗯,孺子可教,container.caoyao,这个点就是对象访问属性的意思,正因为caoyao是container的属性,所以container才可以用点。对象包含若干的数据,每一个数据是一个键值对,这些数据也叫作对象的属性。那么键值对的键,就是属性的属性名称。键值对的值,就是属性的属性值。”

“我明白了,但是我还有一个疑问,如果对象用点号去访问一个根本不存在的属性会怎样?”叶小凡问到。

“好问题,就比方说我刚才的例子,如果我直接去访问一个根本不存在的属性-danyao,那么会怎样呢?小娃娃,看好!”

var container = {};
container.caoyao = "解毒草";
container. feijian = "乌木剑";
console.log(container.danyao); //注意:丹药这个属性是不存在的

结果:
在这里插入图片描述

“我明白了,danyao这个属性不存在于container对象中,因此是未定义的,得到的结果就是undefined!” 叶小凡惊呼。

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

  • 135
    点赞
  • 184
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

剽悍一小兔

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

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

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

打赏作者

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

抵扣说明:

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

余额充值