JS重点特性——闭包详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS重点特性——闭包详解相关的知识,希望对你有一定的参考价值。
闭包特性:可以让定义好的函数作用域在调用时发生改变,具体说,调用运行时,可以让(定义时)作用域外其他函数访问到本函数的局部变量甚至参数。举例代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> function personOne(){ var name="huanhuan"; function test(){return name;} return test; } function personTwo(){ return personOne()(); //personOne()返回属性test()函数对象,再执行一次取得值,为"huanhuan" } console.log(personTwo()); //"huanhuan" </script> </body> </html>
personOne()定义完成时作用域链已确定,外部函数不能访问其内部局部变量及参数,但在personTwo()调用时发生了改变,可以访问到前者的局部变量。这个特性是个技巧点,也容易带来一些麻烦。
以上是关于JS重点特性——闭包详解的主要内容,如果未能解决你的问题,请参考以下文章