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