`
orcl_zhang
  • 浏览: 243183 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

js笔记(闭包)

阅读更多
前段时间javaeye以及其他网上看到一些js的资料,做了一点笔记。
一,闭包
function closureDemo1(){
   function a(){
     var i=0;
     function b(){
      alert(++i);
     }
     return b;
   }
   var c = a();
   c();
   c();
  }
闭包的应用场景
1、保护函数内的变量安全。以最开始的例子为例,函数a中i只有函数b才能访问,而无法通过其他途径访问到,因此保护了i的安全性。
2、在内存中维持一个变量。依然如前例,由于闭包,函数a中i的一直存在于内存中,因此每次执行c(),都会给i自加1。
以上两点是闭包最基本的应用场景,很多经典案例都源于此。
Javascript的垃圾回收机制
在Javascript中,如果一个对象不再被引用,那么这个对象就会被GC回收。如果两个对象互相引用,
而不再被第3者所引用,那么这两个互相引用的对象也会被回收。
因为函数a被b引用,b又被a外的c引用,这就是为什么函数a执行后不会被回收的原因
分享到:
评论

相关推荐

    狂神说系列 JavaScript笔记

    【狂神说系列 JavaScript笔记】是一份全面且深入的JavaScript学习资源,旨在帮助开发者和初学者深入理解这门广泛应用于Web开发的脚本语言。这份笔记涵盖了JavaScript的基础语法、核心概念以及高级特性,旨在构建一个...

    js 笔记 javascript 学习笔记

    本学习笔记将深入探讨JavaScript的核心概念,包括变量、数据类型、操作符、控制流程、函数、对象、数组、原型链、闭包等,并结合实际示例,如my.js、order.js、login.js等文件,来讲解其在实际项目中的应用。...

    javascript学习笔记(十三) js闭包介绍(转)

    闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现

    javascript笔记之匿名函数和闭包.docx

    **闭包**是JavaScript中的一个重要概念,它允许函数访问并操作外部作用域中的变量,即使在其外部函数已经执行完毕的情况下。闭包最常见的创建方式就是在函数内部定义另一个函数。例如: ```javascript function box...

    JS学习笔记之闭包小案例分析

    本文实例讲述了JS学习笔记之闭包小案例。分享给大家供大家参考,具体如下: 直接上代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Document</...

    传智播客JS笔记

    "传智播客JS笔记"提供了一套全面且易于理解的学习资源,特别适合初学者掌握JavaScript的基础和核心概念。以下是对笔记中可能包含的重要知识点的详细解释: 1. **变量与数据类型**:JavaScript 支持动态数据类型,这...

    《李炎恢Javascript笔记》+源码

    《李炎恢Javascript笔记》是一本深入浅出的JavaScript学习资料,它涵盖了JavaScript的基础到实践应用的诸多方面。这本书的特点是将复杂的编程概念分解为易于理解的小知识点,并且提供了源码示例,使得读者能够更好地...

    韩顺平javascript笔记(最全整理 dom编程 oop 基础语法)

    韩顺平老师的JavaScript笔记全面涵盖了基础语法、面向对象编程以及DOM编程,这些都是学习JavaScript时至关重要的知识点。 首先,基础语法是JavaScript学习的基石。包括变量声明(var、let、const)、数据类型(如...

    javascript学习笔记整理知识点整理

    JavaScript,也被称为JS,是一种广泛应用于网页和网络应用的脚本语言,主要在客户端运行,为用户提供动态交互体验。这份“javascript学习笔记整理知识点整理”是针对初学者的一份宝贵资料,涵盖了JavaScript的基础...

    JavaScript基础笔记

    这份“JavaScript基础笔记”涵盖了JS学习的关键概念,包括变量、运算符、函数、对象以及常用的内置对象如Date、String和Array。 首先,让我们从变量开始。在JavaScript中,声明变量使用`var`、`let`或`const`关键字...

    JS入门必看全套笔记

    JavaScript,简称JS,是Web开发中的核心技术之一,用于实现网页的动态效果和交互。这份"JS入门必看全套笔记"涵盖了从基础到进阶的重要概念,对于初学者来说是一份非常有价值的参考资料。以下是对这份笔记可能包含的...

    JavaScript_Demo,文章《JavaScript笔记》配套代码

    这篇文章《JavaScript笔记》的配套代码提供了丰富的实例,旨在帮助读者深入理解和掌握JavaScript的基本概念、语法以及应用技巧。 首先,我们来看看“JS笔记”部分。在学习JavaScript时,理解变量的声明、数据类型...

    JS核心课堂笔记

    达*内部js核心课堂笔记,里面有数组、闭包、原型链等等重难点内容

    javascript入门学习笔记

    JavaScript,一种广泛应用于Web开发的脚本语言,是前端开发的核心...随着学习的深入,还会接触到更多高级特性和框架,如闭包、原型链、AJAX、jQuery、Vue.js、React.js等,这些都是JavaScript开发者必备的知识技能。

    张孝祥JAVASCRIPT笔记图片总结

    【张孝祥JAVASCRIPT笔记图片总结】是一份由知名IT讲师张孝祥编写的JavaScript学习资料,主要以图片的形式呈现,旨在帮助学习者更直观、清晰地理解和记忆JavaScript的关键概念与技术点。这份笔记涵盖了JavaScript的...

    js笔记.7z

    "javascript高级进阶学习笔记.pdf"和"javascript高级进阶学习笔记.pdf"则针对更深入的JavaScript概念和技术,可能包含闭包、原型链、异步编程(Promise和async/await)、性能优化、错误处理等内容,这些都是提升开发...

    谈谈我对JavaScript原型和闭包系列理解(随手笔记8)

    在深入了解JavaScript的原型和闭包之前,让我们先理解执行上下文环境,以及它与函数调用的关系。JavaScript中的执行上下文栈(Execution Context Stack,ECS)是用于管理函数调用帧的一种数据结构。全局代码执行时,...

    JavaScript笔记知识点整理图文.pdf

    JavaScript笔记知识点整理图文 JavaScript是一种广泛应用于web开发的脚本语言,由于其灵活性、跨平台性和动态性,JavaScript广泛应用于Web前端开发、移动应用开发、桌面应用开发等领域。下面是 JavaScript 笔记知识...

Global site tag (gtag.js) - Google Analytics