Javascript闭包用法实例分析
本文实例分析了Javascript闭包的概念及用法。分享给大家供大家参考。具体如下:
提到闭包,想必大家都早有耳闻,下面说下我的简单理解。
说实话平时工作中实际手动写闭包的场景并不多,但是项目中用到的第三方框架和组件或多或少用到了闭包。
所以,了解闭包是非常必要的。呵呵...
一、什么是闭包
简而言之,就是能够读取其他函数内部变量的函数。
由于JS变量作用域的特性,外部不能访问内部变量,内部可以外部变量。
二、使用场景
1.实现私有成员。
2.保护命名空间,避免污染全局变量。
3.缓存变量。
先看一个封装的例子:
varperson=function(){ //变量作用域为函数内部,外部无法访问 varname="default";
return{ getName:function(){ returnname; }, setName:function(newName){ name=newName; } } }();
console.log(person.name);//直接访问,结果为:undefined console.log(person.getName());//结果为:default console.log(person.setName("langjt")); console.log(person.getName());//结果为:langjt