珠峰高级Web课程3(闭包及其应用「垃圾回收机制」)

本文探讨了前端开发中的闭包概念,指出闭包能创建私有上下文,保护并保留变量值。通过匿名函数具名化,可以实现对私有变量的访问和修改。同时,介绍了闭包在内存管理中的角色,特别是在垃圾回收机制中的影响。
摘要由CSDN通过智能技术生成

匿名函数具名化:

/* 
匿名函数具名化:更规范一些、可以让原本的匿名函数实现递归等操作
  + 自执行函数
  + 函数表达式
    const fn = function fn(){};
    fn();
  -----
  @1 不会在所处上下文(宿主环境)中进行声明:设置的名字在外面用不了
  @2 在自己执行产生的上下文中会被声明赋值,赋的值是当前函数本身
  @3 而且赋的值默认是不能被修改的:但是如果此名字被其他方式声明了(例如let/const/var...),
     则以其它方式声明的为主
*/

/* (function fn() {
    let fn = 100;
    console.log(fn); //100
})(); */

/* 
(function fn() {
    fn = 100;
    console.log(fn); //函数本身
})(); 
// console.log(fn); //Uncaught ReferenceError: fn is not defined
*/

/* var b = 10;
(function b() {
    b = 20;
    console.log(b); //函数本身
})();
console.log(b); //10 */

/* 
"use strict";
let num = 0;
(function fn() {
    if (num >= 5) return;
    num++;
    // 调用本函数(递归): arguments.callee 获取的也是函数本身(严格模式下不允许使用)
    // arguments.callee();
    fn();
})();
console.log(num); 
*/

闭包作用域:

概念:函数执行产生一个私

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值