1.局部作用域 就是定义局部变量的地方,执行完毕以后,内存立刻回收局部变量
包括 在函数内部 ,for循环里面的变量
2.在整个script标签或者整个JS都能访问的变量 属于全局变量,作用范围就是全局作用域
整个.js文件中定义的变量 ,跨域文件和跨域script 标签也可以访问
全局变量能跨域 .js文件和script标签
3.作用域链 作用域链就是变量的逐级查找机制 ,遵循的原则是就近原则
4.闭包
闭包 = 内层函数 + 外层函数的变量
作用 : 拓展局部变量的作用范围
没事少用闭包 会造成内存泄漏 !!!
5.arguments 动态参数 是一个伪数组 接受全部
<script>
// arguments 动态参数 是一个伪数组 接受全部
//定义一个方法求和
function get() {
let num = 0
for (let i = 0; i < arguments.length; i++) {
num += arguments[i]
}
return num
}
console.log(get(1, 2, 3));
console.log(get(1, 2, 3, 4, 5));
</script>
6. 剩余数组
剩余参数得到的是一个真数组
可以接受全部 也可以接受一部分
注意: 剩余参数 放在最末尾
<script>
// 剩余参数得到的是一个真数组
// 可以接受全部 也可以接受一部分
// 接受全部
function get(...args) {
let num = 0
for (let i = 0; i < args.length; i++) {
num += args[i]
}
return num
}
console.log(get(1, 2, 3));
console.log(get(1, 2, 3, 4, 5));
// 接受一部分
function fn(a ,b ,...args) {
console.log(args);
}
//