时间:2021-05-26
作用域链:
//作用域链 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());//弹出sunvar 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闭包的几种常见形式 ,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
JS闭包详解及实例:最近学习JS的基础知识,学习了闭包的知识点,有很多疑惑,这一段时间还是一直有在看闭包的相关知识理解就更深入了一点,下面说说我的理解。func
本文主要是介绍Swift中闭包的简单使用,将从“闭包的定义”、"闭包的创建、赋值、调用"、“闭包常见的几种使用场景&rdqu
本文实例讲述了JavaScript闭包与作用域链。分享给大家供大家参考,具体如下:闭包定义闭包指的是有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式,
本文实例讲述了JavaScript闭包的功能与用法。分享给大家供大家参考,具体如下:理解闭包关键是理解JS的对象的本质以及垃圾收集机制。函数也是对象,也有属性,
本文实例讲述了js闭包。分享给大家供大家参考,具体如下:1.什么是闭包定义:是指有权访问另一个函数作用域中的变量的函数创建闭包:在一个函数内部创建另一个函数基本