定义
//闭包测试 function bbTest() { var local = "这里是本地变量"; //闭包会扩大局部变量的作用域,具备变量一致会存活到函数之外,在函数之外可以访问 this.show = function () { return local; } } //非闭包测试 function fbbTest() { var local = "这里是本地变量"; } fbbTest.prototype.show = function () { return this.local; //外部无法访问局部变量,不形成闭包 }
调用
//var bb = new bbTest(); //可用 ////bbTest().show()//会提示找不到 //alert(bb.show()); //显示"这里是本地变量" var bb = new fbbTest(); alert(bb.show()); //使用原型方法扩展,无法访问局部变量,返回"undefined"
javascript调用方法
1、method()
2、method.call()
javascript中的闭包及其应用
闭包:函数运行完成后不自动回收空间,待函数内子函数(匿名函数)执行完成后才释放空间