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.");'
```