一、函数
6.函数的返回值
- 返回值概念
- 函数自身的处理数据或执行结果,需要被二次使用或其他程序调用时,需要将数据返回出来
- 如何拿到返回值
- 关键字:
return 要返回的数据
- 关键字:
- return的功能
- 可以让函数返回指定的值
- 可以立即结束当前函数
- 一个函数中可以写无数个,但是只能执行一次return,一次只能返回一个数据,不允许返回多个数据
- 返回到哪
- 返回到函数的执行语句
- 函数名(),既是在执行函数,也是在拿返回值
- 返回到函数的执行语句
- 注意
- 一个函数如果没有return,那么返回的是undefined;如果有return,那么返回值就是return后面的值
- 可以返回哪些数据
- 所有数据
- 当返回函数时,形成了闭包(后期概念)
- 所有数据
- 什么时候需要返回值?
- 功能性函数(打印表格,改颜色)
- 可以有,但是没有必要有返回值
- 处理数据的函数(补零,计算器,计算圆的面积)
- 一般都有,返回数据
- 功能性函数(打印表格,改颜色)
二、作用域
-
谁作用的哪个区域
- 谁:数据(变量)
- 哪个:如何划分,函数就是一个区域
-
全局
- 不属于任何一个函数
- 全局作用域中的变量,叫全局变量
- 全局作用域中的函数,叫全局函数
- 生命周期:一直存在
- 耗性能,但是方便
- 少用全局
-
局部
-
任何一个函数内部都是局部作用域
-
局部作用域中的变量,叫局部变量
-
局部作用域中的函数,叫局部函数
-
生命周期:朝生暮死
-
节省内存,不方便
-
函数的参数(形参):是当前函数的局部变量
-
-
匿名函数
- 利用匿名函数解决全局耗性能,局部不方便的问题
(function(){})()
三、变量的读写规则
-
当全局和局部的变量名重复时
-
读的规则:
- 向上级作用域查找,找到了,就使用,同时,停止查找;找到顶级作用域,都没有,报错
-
写(设置,赋值)的规则:
- 向上级作用域查找,找到了,就写入,同时,停止查找;找到顶级作用域,都没有,会默认在顶级作用域声明这个变量,然后使用
-
注意:声明变量时,必须加声明关键字,不加声明关键字,可能能执行,但是不规范