js流程控制与函数

流程控制

1.条件语句 分支结构

单向分支
if (条件表达式){ code... } 
双向分支
if (条件表达式){ code... }else{ code... } 
多向分支
if (条件表达式){ code... }else if(条件表达式){ code... }else{ code... } 
switch (条件表达式){ case 条件表达式可能的结果:code... break; case 条件表达式可能的结果:code... break; case 条件表达式可能的结果:code... break; default code... } 
嵌套分支
if (条件表达式){ if (条件表达式){ code... } }else { if (条件表达式){ code... } } 

2.循环语句

while循环
while (){ //循环体 } 
do...while循环
do{ //循环体 } while(循环条件) 
for循环
for (变量定义;循环条件;变量变化){ //循环体 } 

3.其余语句

跳转语句
continue; 跳出当前循环 继续下一次 break; 结束循环 return: 结束函数 
异常
try{ code... }catch(err){ }finally{ } 

catch至关于python中的exceptpython

严格模式
//写在全部代码的最前面 //开启严格模式方法 'use strict' 
  • 严格模式下 声明不加var会报错
  • eval() 在严格模式不能用

4.注意

  • 当分支语句和循环语句的结构体{}内只有一行代码的时候,能够省略{}

函数

1.定义函数

//function 关键字方式 function 函数名(参数1,参数2){ code... } //表达式方式 var 函数名 = function(参数1,参数2){ code... } 

2.函数特色

  • 函数名就是变量名
  • 函数调用必须加()
  • 关键字方式定义的函数,会存在函数提高(能够在函数定义前调用,而表达式方式只能在定义后调用)

3.函数的参数问题

形参和实参
  • 实参数量>形参数量 多给的实参会被忽略
  • 实参数量<形参数量 多出的形参,会使用默认值undefined
参数的默认值
//ES6 新增的语法 function demo(a,b=默认值){ code... } //有默认值的参数必定在后面 
可变数量的参数
arguments对象 能够获取全部的实参 只能在函数中使用 arguments是类数组对象,用法同数组,能够使用for遍历循环 例: function sum(){ for (var i=0;i<arguments.length;i++){ s += arguments[i] } return s; } 

4.return

  • return 能够结束函数
  • return返回值
  • js return 只能返回一个值

2.5 回调函数(高阶函数)

  • 函数的参数 仍是 函数
list.sort()按字符串排序 list.sort(function(v1,v2){ return v1-v2 }) return值大于0时,v1与v2换位置 return值小于0时,v1与v2不换位置 

2.6 自调函数

(function(){ })(); (function 函数名(){ })() //若是多个自调函数连续写, 中间必须加 ; 不然报错 //产生局部做用域 //有效避免全局变量污染 

2.7 递归

与python相同数组

相关文章
相关标签/搜索