`
xo_tobacoo
  • 浏览: 390752 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

js的闭包和return理解

阅读更多

闭包的两个特点:

1、作为一个函数变量的一个引用 - 当函数返回时,其处于激活状态。
2、一个闭包就是当一个函数返回时,一个没有释放资源的栈区。

 

 

参考下面代码理解:

<html>
<head>
<script type="text/javascript">
function test() {
    var i;
    for (i = 0; i < 4; i += 1) {
        document.getElementById("e"+i).onclick = function (i) {
            return function (e) {
                alert(i);
            };
        }(i);
    }
}

var myObject = function (  ) {
    var value = 0;

    return {
        increment: function (inc) {
            value += typeof inc === 'number' ? inc : 1;
        },
        getValue: function (  ) {
            return value;
        }
    }
}(  );
alert(myObject.getValue());//right
alert(myObject.value);//error

</script>
</head>
<body>
<div id="e0">e0</div>
<div id="e1">e2</div>
<div id="e2">e3</div>
<div id="e3">e4</div>
<div id="e4">e5</div>
<input type="button" onclick="test()" value=" click me"/>
</body>
</html>
分享到:
评论

相关推荐

    js闭包个人理解

    ### JavaScript闭包的理解 在JavaScript中,闭包(Closure)是一种非常重要的概念,它涉及到函数作用域、变量生命周期以及函数内部对外部作用域的访问等多个方面。本文将基于提供的文件内容,深入探讨JavaScript...

    js闭包的理解以及作用.docx

    闭包是JavaScript中实现数据隐藏和封装的一种重要手段,对于理解和编写高效的JS代码至关重要。 1. **作用域的理解** - **全局变量**:在整个程序中都可访问的变量,它们在整个脚本的生命周期内都存在。 - **局部...

    JS 闭包的理解

    总之,JavaScript闭包是理解和编写高效、模块化代码的关键概念,它能帮助我们更好地管理作用域、变量和内存,从而提高代码的复用性和可维护性。在日常开发中,熟练掌握闭包不仅可以提升编程技能,也能让代码更加优雅...

    JS闭包可被利用的常见场景

    JavaScript 闭包是一种强大的编程工具,常常被用来解决特定的问题和优化代码结构。在JavaScript中,闭包是指一...通过正确理解和运用闭包,开发者可以编写更高效、更灵活的代码,同时避免全局变量污染和其他潜在问题。

    Javascript 闭包完整解释

    ### JavaScript闭包完整解释 #### 一、闭包的基本概念 **闭包**是一个非常重要的JavaScript概念,它指的是一个函数能够记住并访问其外部作用域中的变量的能力,即使该函数在其外部作用域之外被调用也是如此。具体...

    javaScript闭包的理解

    ### JavaScript闭包的理解 #### 一、闭包的定义与特点 闭包是JavaScript中一个非常重要的概念,它指的是一个函数能够访问并操作其外部作用域中的变量的能力。这一特性使得JavaScript具有了一些其他语言不具备的...

    js闭包详细讲解

    ### JavaScript闭包详解 #### 一、闭包概念与特性 **闭包**是JavaScript语言的一个重要特性,它使得函数可以访问并操作其外部作用域内的变量,即使该函数在其外部作用域之外被调用。要理解闭包,首先需要了解...

    js闭包写法学习demo

    以下是一些关于JavaScript闭包的关键知识点: 1. **函数嵌套**:闭包最常见的形式是内部函数引用了外部函数的变量。例如: ```javascript function outerFunction() { var outerVar = 'I am from the outer ...

    js闭包学习

    总之,JavaScript的闭包是一种核心概念,理解和掌握闭包对于深入学习JavaScript以及使用jQuery等库进行前端开发至关重要。通过闭包,开发者可以实现更灵活和高效的设计模式,提高代码质量与可维护性。

    JavaScript闭包的定义和理解,含代码示例

    ### JavaScript闭包详解 #### 一、闭包的定义与概念 闭包是JavaScript中一个非常重要的概念,它涉及到函数作用域以及变量的作用域链。简单来说,闭包就是一个能够访问其外部作用域中变量的函数。具体而言,当一个...

    JavaScript闭包深入理解.pdf

    闭包是JavaScript编程中的一个重要概念,它涉及到函数、作用域、内存管理和变量持久化等多个方面。闭包本质上是一个函数,它能够访问并操作其自身作用域内的变量,即使在函数执行完毕后,这些变量依然保持活性。闭包...

    JS中的闭包理解。。。。。。。。

    总的来说,闭包是JavaScript中一个非常重要的概念,它提供了维护变量状态和访问私有变量的能力,对于理解和编写高效的JavaScript代码至关重要。正确地理解和使用闭包,可以帮助开发者写出更灵活、更模块化的代码。

    js命名空间和闭包

    总结起来,理解和掌握JavaScript中的命名空间和闭包对于编写高效、可维护的代码至关重要。通过巧妙地运用这些概念,我们可以更好地管理代码、封装数据、以及实现各种高级功能。在实际开发中,结合现代的模块化方案,...

    深入理解_JavaScript_闭包

    总之,深入理解JavaScript闭包对于编写高效、可维护的代码至关重要。掌握闭包不仅有助于解决实际问题,还能提高编程技巧和对JavaScript语言机制的理解。在日常开发中,无论是用于实现模块化、数据封装,还是处理异步...

    【JavaScript源代码】js闭包和垃圾回收机制示例详解.docx

    ### JavaScript闭包与垃圾回收机制详解 #### 一、闭包 ##### 1.1 闭包是什么? 闭包(Closure)是JavaScript中一个非常重要的概念,它涉及到函数及其相关的词法作用域。简单来说,闭包就是能够访问其自身作用域...

    什么是js闭包

    ### 什么是JS闭包 #### 一、变量的作用域与闭包的基础 在JavaScript中,理解闭包之前,首先需要掌握变量的作用域概念。变量的作用域主要分为两种:全局变量和局部...理解和运用闭包对于开发复杂的Web应用至关重要。

    javascript 闭包实例下载

    JavaScript 闭包是一种高级编程概念,它在JavaScript中扮演着至关重要的角色,特别是在函数式编程和模块化设计中。闭包本质上是函数和其能够访问...通过学习这些实例,你将能够更好地掌握JavaScript闭包这一核心概念。

    闭包的加深理解1

    闭包是编程语言中一种强大的特性,特别是在JavaScript中,它涉及到函数、作用域以及变量持久化等核心概念。闭包的本质是一个函数,但它能够记住其定义时的作用...理解并恰当运用闭包,是提升JavaScript编程能力的关键。

    js闭包实例汇总

    JavaScript中的闭包是一种高级特性,它允许函数访问和操作其自身范围内的变量,即使在其外部定义的函数已经执行完毕。这种特性使得闭包在管理作用域、数据...理解和熟练运用闭包是成为JavaScript开发者的关键技能之一。

Global site tag (gtag.js) - Google Analytics