From 5e5b7dba495b22442a97af8406d1fea611ff6ae9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?09=E9=99=88=E7=83=BD=E6=9D=B0sql=E8=BF=9B=E9=98=B6?=
<3241892760@qq.com>
Date: Wed, 26 Oct 2022 12:34:13 +0800
Subject: [PATCH 1/3] =?UTF-8?q?=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...24\344\275\234\347\224\250\345\237\237.md" | 92 +++++++++++++++++++
.../10.25\351\227\255\345\214\205.md" | 48 ++++++++++
...24\344\275\234\347\224\250\345\237\237.md" | 62 +++++++++++++
.../10.25\351\227\255\345\214\205.md" | 61 ++++++++++++
4 files changed, 263 insertions(+)
create mode 100644 "09\351\231\210\347\203\275\346\235\260/\344\275\234\344\270\232/10.24\344\275\234\347\224\250\345\237\237.md"
create mode 100644 "09\351\231\210\347\203\275\346\235\260/\344\275\234\344\270\232/10.25\351\227\255\345\214\205.md"
create mode 100644 "09\351\231\210\347\203\275\346\235\260/\347\254\224\350\256\260/10.24\344\275\234\347\224\250\345\237\237.md"
create mode 100644 "09\351\231\210\347\203\275\346\235\260/\347\254\224\350\256\260/10.25\351\227\255\345\214\205.md"
diff --git "a/09\351\231\210\347\203\275\346\235\260/\344\275\234\344\270\232/10.24\344\275\234\347\224\250\345\237\237.md" "b/09\351\231\210\347\203\275\346\235\260/\344\275\234\344\270\232/10.24\344\275\234\347\224\250\345\237\237.md"
new file mode 100644
index 0000000..d42e750
--- /dev/null
+++ "b/09\351\231\210\347\203\275\346\235\260/\344\275\234\344\270\232/10.24\344\275\234\347\224\250\345\237\237.md"
@@ -0,0 +1,92 @@
+```
+xxxxxxxxxx function a(){ function b(){ var b = 2; } var a = 1; b();}var c = 3;a();//函数全部执行完时依次往销毁内部AO直到全局执行上下文GO,GO在浏览器关闭的那一刻销毁
+```
diff --git "a/09\351\231\210\347\203\275\346\235\260/\344\275\234\344\270\232/10.25\351\227\255\345\214\205.md" "b/09\351\231\210\347\203\275\346\235\260/\344\275\234\344\270\232/10.25\351\227\255\345\214\205.md"
new file mode 100644
index 0000000..6542a32
--- /dev/null
+++ "b/09\351\231\210\347\203\275\346\235\260/\344\275\234\344\270\232/10.25\351\227\255\345\214\205.md"
@@ -0,0 +1,48 @@
+-
+
+- ```
+
+ ```
diff --git "a/09\351\231\210\347\203\275\346\235\260/\347\254\224\350\256\260/10.24\344\275\234\347\224\250\345\237\237.md" "b/09\351\231\210\347\203\275\346\235\260/\347\254\224\350\256\260/10.24\344\275\234\347\224\250\345\237\237.md"
new file mode 100644
index 0000000..94e9204
--- /dev/null
+++ "b/09\351\231\210\347\203\275\346\235\260/\347\254\224\350\256\260/10.24\344\275\234\347\224\250\345\237\237.md"
@@ -0,0 +1,62 @@
+### 作用域
+
+###### **在 JavaScript 中, 作用域为可访问变量,对象,函数的集合。**
+
+JavaScript 函数作用域: 作用域在函数内修改。
+
+------
+
+## JavaScript 局部作用域
+
+变量在函数内声明,变量为局部变量,具有局部作用域。
+
+局部变量:只能在函数内部访问。
+
+因为局部变量只作用于函数内,所以不同的函数可以使用相同名称的变量。
+
+局部变量在函数开始执行时创建,函数执行完后局部变量会自动销毁。
+
+function outer(){
+ function inner(){
+ var b = 23;
+ }
+ var a = 12;
+ b();
+}
+var global = 100;
+a();
+
+## 作用域链
+
+相当于一个集合,这个集合里面包含着变量对象和所有父级变量对象
+
+```
+function bs() {
+ var b='书包里面的书本';
+ return function () {
+ console.log(b);//没有变量b往bs的作用域变量中找
+ }
+}
+var ba=bs();//返回匿名函数
+ba();//真正执行
+```
+
+### **查找变量的流程**
+
+1. 现在当前作用域的**变量对象**中查找,若无
+2. 沿着作用域链的数组去上级作用域的变量中查找
+
+**示例**:
+
+```
+function a(){
+ function b(){
+ var b = 2;
+ }
+ var a = 1;
+ b();
+}
+var c = 3;
+a();
+//函数全部执行完时依次往销毁内部AO直到全局执行上下文GO,GO在浏览器关闭的那一刻销毁
+```
diff --git "a/09\351\231\210\347\203\275\346\235\260/\347\254\224\350\256\260/10.25\351\227\255\345\214\205.md" "b/09\351\231\210\347\203\275\346\235\260/\347\254\224\350\256\260/10.25\351\227\255\345\214\205.md"
new file mode 100644
index 0000000..6d60ae4
--- /dev/null
+++ "b/09\351\231\210\347\203\275\346\235\260/\347\254\224\350\256\260/10.25\351\227\255\345\214\205.md"
@@ -0,0 +1,61 @@
+## 闭包
+
+##### 一、闭包的概念
+
+如果一个函数访问了此函数的父级及父级以上的作用域变量,那么这个函数就是一个闭包。
+
+##### 二、为什么要闭包
+
+1. 使外部得以访问函数内部的变量;
+2. 避免全局变量的使用,防止全局变量污染(匿名函数);
+3. 让某些关键变量得以常驻内存,免于被回收销毁(闭包函数);
+
+##### 三、立即执行函数
+
+立即执行函数模式是一种语法,可以让你的函数在定义后立即被执行。
+
+作用:
+
+- 页面加载完成后只执行一次的设置函数。
+- 将设置函数中的变量包裹在局部作用域中,不会泄露成全局变量
+
+例:
+
+```
+