唉,找不到对象……(来自单身狗的怒吼!
不过我们要先放下个人问题,认真钻研技术,这样等我们把头发也放下了,就不用再发愁个人问题了(彻底没希望了……
玩笑开过去了,我们开始正题。什么是对象?(把那个说结婚对象的拖出去,还有那个说恋爱对象的也自觉跟着出去,咳咳
对象是我们所研究的某个东西所具有的数据的集合(我自己说的,这不是定义)。
比如说,我们研究一个人……好,这个人就是我们研究的对象了,为了方便描述,我们后面用“他”来指代这个人。他有哪些数据呢?他有姓名、年龄、性别、身高、体重、爱好、口味……
我们用代码描述一下:
const he = {name: '诸葛大牛',age: 24,male: true,hobby: ['eat', 'sleep']}
这里定义了这个人 he
具有四个属性,分别是:姓名、年龄、是否男性、爱好。大家可以看出,对于每个属性的值,我们可以使用各种类型的数据。
当我们需要使用其中的某个数据的时候可以有两种方法:
console.log( he.name );console.log( he['age'] );
一种是在对象后面加上点,然后写上属性名,另一种是在后面用方括号,里面写上属性名(注意:这里要用引号,因为这是字符串,而不是变量名)。
第一种方法我们可以把那个点理解成“的”,就是“他的名字”,这个对象拥有“的”某个属性,这样。
第二个方法和我们前面学的数组就很像了,区别么,数组在方括号里面使用序号(数字),这里用的是字符串。那么其实数组和对象是很像的,因为数组是一种特殊的对象。
我们可以把对象的属性名用数字表示,这样就和数组更像了。但是并不完全一样哦!数组是具有顺序的,因为自动给每一项设置了序号,如果没有顺序,那么序号也就没意义了。但是对象的属性是没有顺序的,就像上面那个人的属性,你能说“姓名”、“年龄”谁先谁后么?这个细节要留意。
然后属性名既然是一个字符串,是不是可以写的复杂一点,奇怪一点,有趣一点……
const he = {'姓名': '诸葛大牛',age: 24,'Is male ?': true,12: ['eat', 'sleep']}
也是可以的。但是用中文不好输入,也复杂,就不是很有必要;里面乱用标点可能引起冲突;数字更容易产生各种误会……一个不小心,先被搞晕的是自己。所以没啥特别需求的时候,老老实实用英文命名好了。
这对象也不难嘛,和数组差不多,就是把序号换成了名字,所以我们要把名字给写出来。方括号换成了大括号。
嗯,有个词叫做“面向对象编程”,由此,对于对象的重要性,可以略窥一斑。我们现在只是简单的认识下先。
对象的创建,我们先用上面的方法就好。修改某个属性也是当做变量操作。添加属性呢,就没有所谓的追加了,因为没有顺序。添加属性其实直接设置就好:
const a = {};a.miao = 'meow~';console.log(a.miao)
其他的先不讲,要不然不容易消化。下一章我们讲讲如何遍历。
暂无评论内容