基础函数(普通函数创建、带有参数的函数创建、带有返回值的函数创建;变量作用域、变量提升;递归的用法)

函数分为系统函数自定义函数

系统函数(js提供的)例如:Number、parseInt、parseFloat、alert、prompt。。。

聚合函数关键字function:功能体,函数,方法,接收若干个数据,返回处理的结果。==》用于封装多次执行的代码

1. 普通函数的创建

 

 

 

 

 

2. 带有参数的函数创建(参数列表用于接收传递的数据)

  (少传值会变成NaN;多传值不受影响)

 

 

 

 

3.  带有返回值的函数创建(必须return返回才能得到值)

 

 

 return 用于获取函数调用后的结果,如果函数中没有return 或者 return后面不加任何值,都是undefined;return 一旦执行后,结束函数,不会执行后面的函数体代码;return 返回什么值,结果就得到什么值

 

 变量的作用域、提升

1. 作用域--指变量和函数的可访问范围:

  全局作用域 ==》在函数外使用 var 声明的变量,可以在任意位置访问到

  函数作用域 ==》在函数内使用 var 声明的变量,只能在函数内访问到  

  如果函数内声明变量没有加 var ,就自动变成了全局变量

 

 2. 变量提升--JS会将 var 声明的变量提升到所在作用域的最前边,赋值还是在原来的位置

  例如:console.log(a); var a=1;   # a打印为undefined

    其实系统执行分两步:打印a, 在全局查找是否有a 这个变量,找到有a 变量 var a; 后面再执行的 a=1;  

  再例如:函数的形参,其实只是函数内部 var 声明的变量

 

3. 函数的作用域--函数的可访问范围,同样也分为全局函数和局部函数,全局函数可以在任意位置访问,而局部函数只能在所在的作用域下访问

使用function 关键字创建的函数会提升到所在作用域的最前边

  

 

 

递归

在函数中调用自身的一种算法

递归的使用:边界条件、递归前进、递归结束(return)。

 例如:计算斐波那契数列第 n 项:   1  1   2   3    5   8   13   21   34(前两项都是1,第三项开始,每项的值是前两项相加的和)

 

 但是计算斐波那契额数列,递归的方法计算效率不高,使用双层 for 循环计算效率更好

 

posted on 2021-08-05 10:43  一名小学生呀  阅读(171)  评论(0)    收藏  举报

导航