函数概念
- 函数就是把任意一段代码放在一个盒子里面
- 在想要让这段代码执行时,直接执行这个盒子里面的代码
定义函数
- 声明式
- 赋值式
声明式需要起好名字,赋值式赋值的名字就可以代表这个变量。
区别:
声明式先调用在定义 赋值式先定义后调用、
函数的参数
-
定义函数时的()就是用来放参数的
-
函数定义时写的参数叫形参,调用时为实参
-
可以传参也可不传
-
形参只能在函数内部使用
利用参数写九九乘法表案例
返回值
注意
- return写不写定义看需求
- return后面代码不会执行
fuction中使用return不仅for后面的函数不会执行同时整个函数也将不会执行
预解析
js代码在运行的时候,会经历两个环节 解释代码和**执行代码 **
var 定义的变量会把声明提在前面为 undefined
声明式函数提前但不执行,不会报错
两个普通变量名字冲突时以后面的为主
定义两个函数前面调用和后面调用,以第二个函数预解析
作用域
- 作用域:一个变量可以生效的范围
- 变量不是在所有地方都可以使用的,而这个变量的使用范围就是作用域
全局作用域
控制台能访问的就是全局定义域
局部作用域
函数内部定义的变量只能在函数内部使用
访问规则
就近!!
访问顺序 num3—-num2-num
- 变量的访问规则也叫做 作用域的查找机制
- 作用域的查找机制只能向上找,不能向下找
赋值规则
- 想要给变量赋值时,先找到这个变量再给他赋值。
- 赋值规则:
1.先在自己作用域内部查找,有就直接赋值 2. 没有就去上一级作用域内部查找,有就直接赋值 3. 若还是没有去上一级作用域内部查找,有就直接赋值 4. 若一直找到全局作用域都没有,就把这个变量定义为全局变量,再给他赋值