1、 函数的返回值
- 概念:函数自身的处理数据或执行结果,需要被二次使用或其他程序调用时,需要将数据返回出来
- 关键字:’return 要返回的数据’
- return的功能
可以让函数返回指定的值
可以立即结束当前函数
一个函数中可以写无数个return,但是只能执行一次return,一次只能返回一个数据,不允许返回多个数据 - 返回的位置
返回到函数的“执行语句” - “注意:一个函数如果没有return,那么返回的是undefined”
- 可以返回的数据
所有数据 - 什么时候需要返回值:
功能性函数(打印表格,改颜色)
可以有,但是没有必要有返回值
处理数据的函数,一般都需要有返回值
2、 作用域
概念:一个变量可以生效的范围;
分类:
-
全局作用域:不再任何函数中
-
局部作用域:函数内部
注意: -
全局作用域中的变量,叫做全局变量,任何位置都可以使用。程序关闭时才被销毁,浏览器会自动生成一个全局window。消耗性能大,但是方便,少用。
-
局部作用域中的变量,叫局部变量,只能在当前作用域使用。函数执行结束即被销毁。节省内存
-
全局不能访问局部
-
局部可以拿到全局
-
可以利用匿名函数解决全局变量消耗性能,局部变量不方便的问题
(function(){
var a = "hello ";
function people1(){
console.log(a + “张三”);
}function people2(){ console.log(a + "王二"); } people1(); people2();
})();
执行函数‘(function(){})()‘
3、 变量的读写规则
- 访问规则
获取某个变量的值,叫访问。
访问规则:当前作用域->上一级作用域->…->全局作用域。
找到即停止,到全局未找到,直接报错(该变量is not defined) - 赋值规则
当给一个变量赋值时,需要先找到该变量,再赋值
访问规则:当前作用域->上一级作用域->…->全局作用域。
找到即停止,到全局未找到,直接定义未全局变量并赋值。 - 总结:
变量的访问规则,也叫做“作用域的查找机制“
作用域的查找机制只能是想上找,不能向下找。