逻辑运算符
&& || !
&& 全真为真,有假则假 &&是一个惰性的运算符(短路操作符)
|| 全假为假,有真则真 ||也是一个惰性运算符
流程控制
var box = 12;
if (box > 10) { //可以接受一个表达式,一个布尔类型的值,以及其他类型的值,但最终会接受一个布尔类型的值
//判断条件为真时执行的代码体
console.log("这个数字大于10")
}
1、if (条件表达式) {} 条件表达式结果是一个boolean类型的
2、if () {} else {}
3、if () {} else if {} else {}
三元运算符
表达式 ? 成立时执行的代码 : 不成立时执行的代码
switch case
在写switch case的时候,大家一定要注意case里面的break必须要写上,不写会发生case穿透,在该语句中所有的case都相当于===的比较操作。
作用:多在于进行一个等值的比较运算
循环
break:跳出整个循环,执行循环体之后的代码
continue:跳出本次循环,执行下一次循环
当循环中遇到它们两个,它们之后的代码都不再执行。
es6以前,js只有两种作用域:全局和函数,所以i可以在循环体外的任何位置访问。
for in 不但可以循环自身的键值对,还可以循环父级对象上的键值对。
当一个属性自身存在并且父级也存在,那么只会循环自身的。
每一次循环,是循环对象的一个键值对,直到将该对象循环完毕。
item 代表当前对象的属性名
使用不多
do{
// 循环体
} while (判断条件);
while (判断条件) {
// 循环体
}
先执行判断条件,再执行循环体。
for...in 语句是一种精准的迭代语句,可以用来枚举对象的属性。
for(var 变量 in 对象) item在每次循环的时候都是属性名
var obj = {
name: "king",
age: 18
};
for (var item in obj) {
console.log(item);
console.log(obj[item]); //注意:这个地方不能用.运算符,只能使用[]
}
var box = 12;
function test() {
i = 18; //省略var关键字,该变量会成为一个全局变量
console.log(box);
}
test();
console.log(i);
当没有显示的进行return时,函数会默认的返回undefined
function test() {
var box = 15;
if (box >= 18) {
return "已成年";
} else {
return "未成年";
}
}
console.log(test());
定义函数时可以指明形参,调用函数传递进来的是实参
function add(a, b) {
console.log(a);
console.log(arguments);
var a = arguments[0];
console.log(a);
}
函数实际接受参数的是arguments(类数组对象)