From 71844d802200a606354ac02c8911a0e08c6a3e2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E7=8E=AE=E5=96=86?= Date: Mon, 31 Oct 2022 13:04:01 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=AC=AC=E5=85=AB=E6=AC=A1=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...8-\351\242\204\347\274\226\350\257\221.md" | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 "04\351\203\221\347\216\256\345\226\206/\347\254\224\350\256\260/2022.10.28-\351\242\204\347\274\226\350\257\221.md" diff --git "a/04\351\203\221\347\216\256\345\226\206/\347\254\224\350\256\260/2022.10.28-\351\242\204\347\274\226\350\257\221.md" "b/04\351\203\221\347\216\256\345\226\206/\347\254\224\350\256\260/2022.10.28-\351\242\204\347\274\226\350\257\221.md" new file mode 100644 index 0000000..f56fd1e --- /dev/null +++ "b/04\351\203\221\347\216\256\345\226\206/\347\254\224\350\256\260/2022.10.28-\351\242\204\347\274\226\350\257\221.md" @@ -0,0 +1,21 @@ +# 8、预编译 + +预编译(变量提升) + +AO(Activation Object)在函数执行前创建 + +1. 创建一个AO临时对象 + +2. 找形参,装入AO,赋值为underfined。找变量声明,装入AO,赋值为underfined + +3. 形参与实参统一 + +4. 找函数声明,赋予函数体 + +GO(Clobal Object)在文件执行前创建 + +1. 创建一个GO临时对象 + +2. 找形参,装入AO,赋值为underfined。找变量声明,装入AO,赋值为underfined + +3. 找函数声明,赋予函数体 -- Gitee From 437a732601f91e92ddfdada4b64dabb37856df19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E7=8E=AE=E5=96=86?= Date: Tue, 1 Nov 2022 21:23:56 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=AC=AC=E4=B9=9D=E6=AC=A1=E5=81=9A?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2022.10.31-\351\227\255\345\214\205.md" | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 "04\351\203\221\347\216\256\345\226\206/\347\254\224\350\256\260/2022.10.31-\351\227\255\345\214\205.md" diff --git "a/04\351\203\221\347\216\256\345\226\206/\347\254\224\350\256\260/2022.10.31-\351\227\255\345\214\205.md" "b/04\351\203\221\347\216\256\345\226\206/\347\254\224\350\256\260/2022.10.31-\351\227\255\345\214\205.md" new file mode 100644 index 0000000..b9daf05 --- /dev/null +++ "b/04\351\203\221\347\216\256\345\226\206/\347\254\224\350\256\260/2022.10.31-\351\227\255\345\214\205.md" @@ -0,0 +1,20 @@ +# 9、闭包 + + var add = (function () { +     var counter = 0; +     return function () { +     return counter += 1; +     } + })(); + + add(); + add(); + add(); + + // 计数器目前是 3 + +个闭包由两部分组成,函数和创建该函数的环境。 + +由于闭包会携带包含它的函数的作用域,因此会比其他函数占用更多的内存。 + +闭包缺点:当函数保存在外部时,将会生成闭包,闭包会导致原有作用域链不释放,从而造成内存泄漏。 -- Gitee