return a<=b
对象
有非字符串属性的话,JavaScript 会自动将它们转为字符串
which means 属性都是字符串
const myObj = {
prop1: "val1",
prop2: "val2"
};
//属性:属性值
点号表示法访问对象属性(获取值)
const prop1val = myObj.prop1;
const prop2val = myObj.prop2;
括号表示法访问对象属性(获取值)
myObj["Space Name"];
myObj['More Space'];
myObj["NoSpace"];
//访问的属性名中包含空格,就必须使用方括号表示法来获取它的属性值。
//且需要引号
访问(对象上作为变量值存储的)属性
使用变量名访问属性时,我们没有使用引号包裹它,因为我们正在使用的是变量的值,而不是变量的名字。
const someObj = {
propName: "John"
};
function propPrefix(str) {
const s = "prop";
return s + str;
}
const someProp = propPrefix("Name");
console.log(someObj[someProp]);
//someProp 的值将为字符串 propName,并且字符串 John 将会出现在控制台中。
给对象添加新属性
const ourDog = {
"name": "Camper",
"legs": 4,
"tails": 1,
"friends": ["everything!"]
};
ourDog.bark = "bow-wow";
删除对象的属性
delete ourDog.bark;
//! 声明变量后不需要再用var等语句 之后赋值直接用=
布尔值是不带引号的。 字符串 "true"
和 "false"
不是布尔值,在 JavaScript 中也没有特殊含义。
检查一个对象属性是否存在
.hasOwnProperty(propname)
JSON
{
"artist": "Daft Punk",
"title": "Homework",
"release_year": 1997,
"formats": [
"CD",
"Cassette",
"LP"
],
"gold": true
}
访问嵌套对象
ourStorage.cabinet["top drawer"].folder2;
访问嵌套数组
const ourPets = [
{
animalType: "cat",
names: [
"Meowzer",
"Fluffy",
"Kit-Cat"
]
},
{
animalType: "dog",
names: [
"Spot",
"Bowser",
"Frankie"
]
}
];
ourPets[0].names[1];