JS闭包的几种常见形式实例详解
作者:喵嘻嘻
本文通过实例代码给大家详细介绍了js闭包的几种常见形式,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下
作用域链:
//作用域链 var a = 1; function test() { var b =2; return a; } alert(test());//弹出1; alert(b);//不能获取b //scope chain var a = 1; function test() { var b = 2; function test1() { var c = 3; alert(a); alert(b); alert(c); } test1(); } test();//弹出1,弹出2,弹出3;
词法作用域:
//词法作用域; function f1() { var a = 12; return f2(); } function f2() { return a; } alert(f1());//并不能获取a,a在f2()中并未定义; function f1() { var a = 1; return f2(); } function f2() { var b = 3; alert(b); return a; } alert(f1());//弹出3,a在f2()中未定义 function f1() { var a = 1; return f2(); } function f2() { var b = 3; alert(b); return a; } alert(f1());//弹出3,a在f2()中未定义,undefined var a=55; alert(f1());//弹出3,弹出55
如何通过闭包突破全局作用域链——几种常见形式
//通过闭包突破全局作用域链 function f() { var a = "sun"; return function () { return a; } } var test = f(); alert(test());//弹出sun var n; function f() { var a = "sun"; n = function () { return a; } } f(); alert(n());//弹出sun function f(param) { var n =function () { return param; }; param++; return n; } var test = f(45); alert(test());//弹出46;
总结
以上所述是小编给大家介绍的JS闭包的几种常见形式 ,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
您可能感兴趣的文章:
- 通俗易懂地解释JS中的闭包
- JS继承与闭包及JS实现继承的三种方式
- 浅谈JavaScript作用域和闭包
- JS实现闭包中的沙箱模式示例
- JavaScript闭包的简单应用
- 通过示例彻底搞懂js闭包
- JavaScript闭包和回调详解
- 浅谈JS封闭函数、闭包、内置对象
- JavaScript闭包_动力节点Java学院整理
- 深入理解Javascript中的作用域链和闭包
- JS闭包可被利用的常见场景小结
- 利用js的闭包原理做对象封装及调用方法
- javascript闭包功能与用法实例分析
- JavaScript中闭包的详解
- JS闭包用法实例分析
- 图解Javascript——作用域、作用域链、闭包
- 轻松理解JavaScript闭包
- js中的闭包学习心得