1.流程控制
1.1if
if(条件表达式){
语句块
}
如果if后的语句块中只有一行代码,则大括号可以省略的
以下5种情况隐式转换为布尔型为false:0 NaN '' undefined null
1.2if-else
if(条件表达式){
语句块1
}else{
语句块2
}
1.3if-else if-else
if(条件表达式1){
语句块1
}else if(条件表达式n){
语句块n
}else{
语句块n+1 //以上所有的条件都是false
}
1.4switch-case default
表达式在和case后的值比较的时候,用的是全等于(===)
switch(表达式){
case 值1: //如果表达式和case后的值相同,会执行对应的语句块
语句块1
break;
case 值n:
语句块n
break;
default:
语句块n+1
}
if-else可以进行各种条件的比较,switch-case只能进行全等于的比较
switch-case的代码结构更为清晰,执行效率更高
2.循环
一遍又一遍执行相同或者相似的代码
循环的两个要素
循环条件: 控制循环的执行
循环体: 要重复执行的代码
2.1while循环
while(循环条件){
循环体
}
2.1do-while循环
do{
循环体
}while(循环条件);
2.2for循环
for(初始值;循环条件;增量){
循环体
}
2.3break和continue
continue:跳过后续循环体代码,还会往后继续执行
break:跳出循环,结束循环的执行
2.4循环嵌套
在一个循环体的内部出现了另一个循环
任意两个循环之间都可以相互嵌套
3.函数
Number()
parseInt()
parseFloat()
alert()
prompt()
函数分为系统函数和自定义函数
函数:是一个功能体,需要提供若干个数据,返回处理的结果 —— 用于封装重复执行的代码
3.1创建函数
function 函数名称(){
函数体 //封装重复的代码
}
//调用
函数名称()
每调用一次,就会执行一次函数体中的代码。
3.2创建带有参数的函数
function 函数名称(参数列表){
函数体
}
//调用
函数名称(参数列表)
创建函数时的参数称作形参,调用函数时的参数称作实参,实参会赋值给形参,实参的数量可以和形参的数量不匹配,如果形参未被赋值则为undefined
3.3创建带有返回值的函数
function 函数名称(参数列表){
函数体
return 值; //返回值,函数调用后返回的结果
}
//调用
函数名称(参数列表) //得到函数的返回值
如果函数中没有写return或者return后没有任何值,则返回undefined
一旦执行return,就会跳出函数的执行
对比return和break
return用于函数中,跳出函数的执行
break用于循环和switch-case,跳出循环或者switch-case语句
4.变量的作用域
全局变量:在全局作用域(函数以外)声明的变量就是全局变量,可以在任意的作用域下访问到
局部变量:在函数作用域下声明的变量就是局部变量,只能在当前的作用域下访问到
在函数内不加var声明的变量是全局变量,后期在严格模式下报错,不推荐
变量提升:程序执行前,会将var声明的变量提升到所在作用域的最前边,只是提升声明,赋值不提升
5.函数的作用域
全局函数:在全局作用域下创建的函数,可以在任意的作用域访问
局部函数:在函数作用域下创建的函数,只能在当前的作用域访问
函数提升:程序执行前,会将函数整体提升到所在作用域的最前边