定义
//闭包测试
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中的闭包及其应用
闭包:函数运行完成后不自动回收空间,待函数内子函数(匿名函数)执行完成后才释放空间