object
这个术语。对象类似于arrays
,除了不使用索引访问和修改数据,您可以通过所谓的properties
访问对象中的数据。对象对于以结构化方式存储数据很有用,并且可以表示真实世界对象,如猫。这是一个示例cat对象: var cat = {在此示例中,所有属性都存储为字符串,例如 -
“名字”:“胡须”,
“腿”:4,
“尾巴”:1,
“敌人”:[“水”,“狗”]
};
"name"
, "legs"
和"tails"
。但是,您也可以使用数字作为属性。您甚至可以省略单字符串属性的引号,如下所示: var anotherObject = {但是,如果您的对象具有任何非字符串属性,JavaScript将自动将它们作为字符串进行类型转换。
制作:“福特”,
5:“五”,
“模特”:“焦点”
};
myDog
的狗的对象,其中包含属性"name"
(字符串), "legs"
, "tails"
和"friends"
。您可以将这些对象属性设置为您想要的任何值,因为"name"
是一个字符串, "legs"
和"tails"
是数字, "friends"
是一个数组。 myDog
应该包含属性name
,它应该是一个string
。
testString: 'assert((function(z){if(z.hasOwnProperty("name") && z.name !== undefined && typeof z.name === "string"){return true;}else{return false;}})(myDog), "myDog
should contain the property name
and it should be a string
.");'
- text: myDog
应该包含属性legs
,它应该是一个number
。
testString: 'assert((function(z){if(z.hasOwnProperty("legs") && z.legs !== undefined && typeof z.legs === "number"){return true;}else{return false;}})(myDog), "myDog
should contain the property legs
and it should be a number
.");'
- text: myDog
应该包含属性tails
,它应该是一个number
。
testString: 'assert((function(z){if(z.hasOwnProperty("tails") && z.tails !== undefined && typeof z.tails === "number"){return true;}else{return false;}})(myDog), "myDog
should contain the property tails
and it should be a number
.");'
- text: myDog
应该包含属性friends
,它应该是一个array
。
testString: 'assert((function(z){if(z.hasOwnProperty("friends") && z.friends !== undefined && Array.isArray(z.friends)){return true;}else{return false;}})(myDog), "myDog
should contain the property friends
and it should be an array
.");'
- text: myDog
应该只包含所有给定的属性。
testString: 'assert((function(z){return Object.keys(z).length === 4;})(myDog), "myDog
should only contain all the given properties.");'
```