函数的要素
- 南瓜又个梦原创转载
- 2021年06月13日 10:19:00778浏览
- 调用时机
时机不同调用结果不同 - 作用域
- 每个函数都会默认创建一个作用域
- 全局变量和局部变量
在顶级作用域声明的变量是全局变量,window的属性是全局变量,其他都是局部变量 - 函数可以嵌套,作用域也可以嵌套
- 作用域规则
如果多个作用域有同名作用域a
那么查找a 的声明时,就向上找最近的a
简称就近原则
查找a的过程和函数执行无关
但是a的值和函数执行有关
- 闭包
如果函数用到了外部的变量,那么这个变量加上这个函数就叫做闭包 - 形式参数
function add(x, y){
return x+y
}
// x y
add(1,2)
// add 1 2 x y
非实际的参数
变量的申明
形参可多可少 - 返回值
每个函数都有返回值,需要函数执行了才会返回,有的返回值有的返回undefined,只有函数有返回值。 - 调用栈
- JS引擎在调用一个函数前,需要吧函数所在环境push到一个数组里,这个 数组叫做调用栈,当执行完了以后会将环境弹出来(pop),return到之前的环境,在执行下一步的代码
- 每个浏览器的栈不同但是大概范围是在10000-12000之间。
- 函数提升
不管函数放在哪里,它总是会在第一行,但是匿名函数除外 - arguments(除了箭头函数)
保存了所有变量数据,是一个伪数组 - this(除了箭头函数)
一个管道,一个空对象
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。