JS基础-03-分支,循环,函数

102 阅读3分钟

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(表达式){
  case1:  //如果表达式和case后的值相同,会执行对应的语句块
   语句块1  
   break;
  casen:
   语句块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.函数的作用域

全局函数:在全局作用域下创建的函数,可以在任意的作用域访问

局部函数:在函数作用域下创建的函数,只能在当前的作用域访问

函数提升:程序执行前,会将函数整体提升到所在作用域的最前边