JS

97 阅读3分钟

函数的返回值

函数体内可以使用return关键字表示"函数的返回值" image.png

  1. 调用一个有返回值的函数,可以被当做一个普通值,从而可以出现在任何可以书写值的地方 image.png image.png

遇见return即退出函数

  1. 调用函数时,一旦遇见return语句则会立即退出函数,将执行权交给调用者

image.png 2.结合if语句的时候,往往不需要写else分支了

image.png

函数像一个"小工厂"

image.png

函数的参数和返回值

  1. 参数是函数内的一些待定值,在调用函数时,必须传入这些参数的具体值
  2. 函数的参数可多可少,函数可以没有参数,也可以有多个参数,多个参数之间需要用逗号隔开

函数的参数

image.png

形实结合

image.png

形参和实参个数不同的情况

image.png image.png 定义一个函数,这个函数的功能就是计算a到b之间所有整数的和

image.png

arguments

  1. 函数内arguments表示他接收到的实参列表,它是一个类数组对象
  2. 类数组对象:所有属性均为从零开始的自然数列表,并且有length属性,和数组类似可以用方括号书写下标访问对象的某个属性值,但是不能调用数组的方法

函数的调用

  1. 执行函数体中的所有语句,就称为"调用函数"
  2. 调用函数非常简单,只需在函数名字后书写圆括号对即可 fun() //调用函数

语句执行顺序

image.png

函命声明的提升

  1. 和变量声明提升类似,函数声明也可以被提升

image.png

函数表达式不能提升

image.png

函数优先提升

image.png

函数的定义和调用

  1. 和变量类似,函数必须先定义然后才能使用
  2. 使用function关键字定义函数,function是"功能"的意思

函数的定义

image.png

函数表达式

image.png

函数的调用

  1. 执行函数体中的所有语句,就称为"调用函数"
  2. 调用函数非常简单,只需在函数名字后书写圆括号对即可fun()//调用函数

递归

  1. 函数的内部语句可以调用这个函数自身,从而发起对函数的一次迭送。在新的迭代中,又会执行调用函数自身的语句,从而又产生一次迭代。当函数执行到某一次时,不再进行新的迭代,函数被一层一层返回,函数被递归。
  2. 递归是一种较为高级的编程技巧,它把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。 image.png

用求4的阶乘举例

image.png

递归的要素

  1. 边界条件:确定递归到何处终止,也称为递归出口
  2. 递归模式:大问题是如何分解为小问题的,也称为递归体 image.png