美文网首页
深入理解js闭包

深入理解js闭包

作者: Ra霸道 | 来源:发表于2018-04-17 20:43 被阅读0次

深入理解js闭包

1.闭包的含义

1.1 闭包:有权在一个函数内部可以访问另一个函数作用域并且将此函数返回

2.想要了解闭包,首先要理解函数的作用域

2.1 js中变量的作用域分为两种,全局变量和局部变量,简单来说,除了函数中定义的变量是局部变量外,其他的都是全局变量。

3. 闭包的作用

3.1 可以在函数外面访问函数里面的变量

3.2 可以保存函数中的变量值,不用担心调用函数时变量变化。

4. 什么是闭包

4.1 在函数外部访问函数内的变量,由于访问不到,所以要变通来访问函数中的变量,这种方法叫做闭包。

function a(){

var b=6;

console.log(b)//6

}

console.log(b);//error 访问不到b的值

4.2解决方法:可以函数中套用函数,将套用的函数作为返回值。由外部接收返回值,接收到的数值就是内部变量的变量值(函数中的子函数可以访问到父函数的变量值。)

function a(){

var b=6;

console.log(b)//6

function c(){

console.log(b)//6

};

c();

return function c(){

return b;

};

}

var e=a();

console.log(e());//6

5. 要注意

5.1由于闭包会使得函数中的变量被保存到内存中,这样很消耗内存,所以一定要注意不能随便用闭包。但是可以在退出函数之前,释放不使的局部变量,以清理内存,保证浏览器性能。

相关文章

  • js深入理解js闭包

    一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变...

  • 深入理解js闭包

    深入理解js闭包 1.闭包的含义 1.1 闭包:有权在一个函数内部可以访问另一个函数作用域并且将此函数返回 2.想...

  • 深入理解js闭包

    一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和...

  • 深入理解js闭包

    一、概念定义在函数内部的函数,通俗理解就是能够读取其他函数内部变量的函数。二、用途闭包的用途:其一就是读取函数内部...

  • 深入理解js闭包

    什么是闭包 MDN的解释:闭包是函数和声明该函数的词法环境的组合。 简单讲,闭包就是指有权访问另一个函数作用域中的...

  • 深入理解js闭包

    什么是闭包 MDN的解释:闭包是函数和声明该函数的词法环境的组合。 简单讲,闭包就是指有权访问另一个函数作用域中的...

  • 深入理解javascript原型和闭包[目录]

    文章地址:深入理解javascript原型和闭包 文章:深入理解javascript原型和闭包 目录列表 (不能跳...

  • 深入理解闭包(六)——闭包

    原文地址:深入理解闭包(六)——闭包 终于讲到闭包了,这一路走来不容易。从前面的博文中我们知道,js的垃圾回收机制...

  • 探索奥秘~闭包

    在我学习初期我对闭包的理解也不是很深,最近在学习了js更深入的知识后,对闭包有了更加深入的了解,下面我就跟大家详细...

  • 深入理解javascript原型和闭包(完结)

    深入理解javascript原型和闭包(1)——一切都是对象 深入理解javascript原型和闭包(2)——函数...

网友评论

      本文标题:深入理解js闭包

      本文链接:https://www.haomeiwen.com/subject/tenpkftx.html