首先我们来先来学习如何定义一个物件
var family = {}; // 物件实字 Object Literals
透过这种物件实字的方式定义物件的话,我们就可以直接决定这个物件的结构。
而物件内部的结构通常都是由一个属性对应一种值
var family = { property1: value1, property2: value2}; // 物件实字 Object Literals
这个 property 有时候也称为 keyname, key 对应一个 value, property: keyname
。
这里的 value 的型态可以包含任何状态的原始型别资料
包含 纯数字 / 字串 / 阵列 / 物件 / 函式 / undefined / null 等等。
并且如果有两个以上的 property 以及 value,会在 value 后面加上 ,
,但是通常最后一个不会加上 ,
。
不过有些套件或状况会需要在最后面一个也加上 ,
,加了其实也不会怎么样,但通常我们不会加上 ,
。
var family = { // property1: value1, // property2: value2 name: '小明家', deposit: 1000, member: { mom: '老妈', son: '小明' }, callFamily: function () { console.log('小明家'); }}; // 物件实字 Object Literalsconsole.log(family);
我们建立完一些 property 跟 value 之后,我们把这个物件印出来看看。
就可以看到我们刚刚定义的结构。
除了物件实字之外,还有定义物件的方法吗?
有的,就是我们之前介绍的包裹物件,对于定义物件的包裹物件,就是 new
一个 object
。
var family = { // property1: value1, // property2: value2 name: '小明家', deposit: 1000, member: { mom: '老妈', son: '小明' }, callFamily: function () { console.log('小明家'); }}; // 物件实字 Object Literalsconsole.log(family);var newFamily = new Object(family);console.log(newFamily);
一样我们还是把他印出来看看,
可以看到两个结果都一样,但特别要注意的是,使用包裹物件建立的参照对象是 family
这个物件,但如果今天的对象是其他类型的原始型别资料的话,会怎么样呢?
根据参照的不同,也会建立出不同内容的物件喔!
那今天这篇文章就先到这里,希望对各位有帮助汪汪