用 if 语句来表达条件逻辑
用 if 语句来表达条件逻辑通过
If 语句用于在代码中做条件判断。 关键字 if 告诉 JavaScript 在小括号中的条件为真的情况下去执行定义在大括号里面的代码。 这种条件被称为 Boolean 条件,因为他们只可能是 true(真)或 false(假)。
当条件的计算结果为 true,程序执行大括号内的语句。 当布尔条件的计算结果为 false,大括号内的代码将不会执行。
if(条件为真){
语句被执行
}
严格相等运算符
严格相等运算符:===
相等运算符:==
严格相等运算符是相对相等操作符的另一种比较操作符。 与相等操作符转换数据两类型不同,严格相等运算符不会做类型转换。
如果比较的值类型不同,那么在严格相等运算符比较下它们是不相等的,会返回 false 。
3 === 3
3 === '3'
这些条件将分别返回 true and false。
介绍 else 语句
当 if 语句的条件为真,会执行大括号里的代码。 那如果条件为假呢? 正常情况下什么也不会发生。 使用 else 语句,可以执行当条件为假时相应的代码。
if (num > 10) {
return "Bigger than 10";
} else {
return "10 or Less";
}
使用 Switch 语句从许多选项中进行选择
如果你有非常多的选项需要选择,可以使用 switch 语句。 switch 评估一个表达式,将表达式的值与 case 子句匹配。 从第一个匹配的 case 值执行语句,直到遇到 break。
switch(lowercaseLetter) {
case "a":
console.log("A");
break;
case "b":
console.log("B");
break;
}
创建 JavaScript 对象
对象和 arrays 类似,区别在于数组使用索引来访问和修改数据,而对象中的数据是通过 properties 访问的。
对象非常适合用来存储结构化数据,可以表示真实世界中的物体,比如一只猫。
这里是一个猫对象的样本:
var cat = {
"name": "Whiskers",
"legs": 4,
"tails": 1,
"enemies": ["Water", "Dogs"]
};
访问对象属性
和访问数组类似,访问对象属性有两种方式:点号表示法(.)和方括号表示法([ ])。
如果我们已经提前知道要访问的属性名,使用点号表示法是最方便的。
这里是一个用点符号(.)读取对象属性的示例:
var myObj = {
prop1: "val1",
prop2: "val2"
};
var prop1val = myObj.prop1;
var prop2val = myObj.prop2;
prop1val 的值将为字符串 val1,并且prop2val 的值将为字符串 val2。
访问对象属性的第二种方式是方括号表示法([ ])。 如果你想访问的属性名中包含空格,就必须使用方括号表示法来获取它的属性值。
当然,如果属性名不包含空格,也可以使用方括号表示法。
这是一个使用方括号表示法读取对象属性的例子:
var myObj = {
"Space Name": "Kirk",
"More Space": "Spock",
"NoSpace": "USS Enterprise"
};
myObj["Space Name"];
myObj['More Space'];
myObj["NoSpace"];
myObj[“Space Name”] 将会是字符串 Kirk,myObj[‘More Space’] 将会是字符串 Spock,并且myObj[“NoSpace”] 将会是字符串 USS Enterprise。
注意
如果属性名中包含空格,就必须使用引号(单引号或双引号)将它们包裹起来。
通过变量访问对象属性
对对象上使用方括号表示法,还可以访问对象上作为变量值存储的属性。 当你需要遍历对象的所有属性,或者根据一个变量的值查找对应的属性值时,这种写法尤其适用。
var dogs = {
Fido: "Mutt", Hunter: "Doberman", Snoopie: "Beagle"
};
var myDog = "Hunter";
var myBreed = dogs[myDog];
console.log(myBreed);
字符串 Doberman 将会出现在控制台中。
给 JavaScript 对象添加新属性
可以像更改属性一样给 JavaScript 对象添加属性。
var ourDog = {
"name": "Camper",
"legs": 4,
"tails": 1,
"friends": ["everything!"]
};
ourDog.bark = "bow-wow";
删除对象的属性
使用delete关键字。
var ourDog = {
"name": "Camper",
"legs": 4,
"tails": 1,
"friends": ["everything!"],
"bark": "bow-wow"
};
delete ourDog.bark;
访问嵌套对象
可以通过连续使用点号表示法和方括号表示法来访问对象的嵌套属性。
这是一个嵌套对象:
var ourStorage = {
"desk": {
"drawer": "stapler"
},
"cabinet": {
"top drawer": {
"folder1": "a file",
"folder2": "secrets"
},
"bottom drawer": "soda"
}
};
ourStorage.cabinet["top drawer"].folder2;
ourStorage.desk.drawer;
ourStorage.cabinet[“top drawer”].folder2 将会是字符串 secrets,并且 ourStorage.desk.drawer 将会是字符串 stapler。
访问嵌套数组
在之前的挑战中,我们学习了在对象中嵌套对象和数组。 与访问嵌套对象类似,数组的方括号可以用来对嵌套数组进行链式访问。
下面是访问嵌套数组的例子:
var ourPets = [
{
animalType: "cat",
names: [
"Meowzer",
"Fluffy",
"Kit-Cat"
]
},
{
animalType: "dog",
names: [
"Spot",
"Bowser",
"Frankie"
]
}
];
ourPets[0].names[1];
ourPets[1].names[0];
ourPets[0].names[1] 应该是字符串 Fluffy, 并且 ourPets[1].names[0] 应该是字符串 Spot。