Javascript-函数

76 阅读2分钟
函数概念
  • 函数就是把任意一段代码放在一个盒子里面
  • 在想要让这段代码执行时,直接执行这个盒子里面的代码
定义函数
  • 声明式
  • 赋值式

image.png

image.png

image.png 声明式需要起好名字,赋值式赋值的名字就可以代表这个变量。

区别:

声明式先调用在定义 赋值式先定义后调用、

函数的参数
  1. 定义函数时的()就是用来放参数的

  2. 函数定义时写的参数叫形参,调用时为实参

  3. 可以传参也可不传

  4. 形参只能在函数内部使用

利用参数写九九乘法表案例

image.png

返回值

image.png

image.png

注意

  1. return写不写定义看需求
  2. return后面代码不会执行

image.png

fuction中使用return不仅for后面的函数不会执行同时整个函数也将不会执行

预解析

js代码在运行的时候,会经历两个环节 解释代码和**执行代码 **

image.png

var 定义的变量会把声明提在前面为 undefined

声明式函数提前但不执行,不会报错

两个普通变量名字冲突时以后面的为主

定义两个函数前面调用和后面调用,以第二个函数预解析

作用域
  • 作用域:一个变量可以生效的范围
  • 变量不是在所有地方都可以使用的,而这个变量的使用范围就是作用域
全局作用域

image.png

控制台能访问的就是全局定义域

局部作用域

image.png 函数内部定义的变量只能在函数内部使用

访问规则

image.png

就近!!

image.png 访问顺序 num3—-num2-num

  • 变量的访问规则也叫做 作用域的查找机制
  • 作用域的查找机制只能向上找,不能向下找
赋值规则
  • 想要给变量赋值时,先找到这个变量再给他赋值。
  • 赋值规则:

1.先在自己作用域内部查找,有就直接赋值 2. 没有就去上一级作用域内部查找,有就直接赋值 3. 若还是没有去上一级作用域内部查找,有就直接赋值 4. 若一直找到全局作用域都没有,就把这个变量定义为全局变量,再给他赋值

image.png