时间:2021-07-01 10:21:17 帮助过:4人阅读
var globalScope="global scope"; function f(){ var localScope="local scope"; console.log(globalScope);//global scope } console.log(localScope);//undefined
在函数f()内可以访问到函数体外定义的globalScope,而在函数体外不能访问到函数体内定义的localScope,这就是全局变量与局部变量的区别。
难道在函数体外就永远访问不到localScope了吗?非也,闭包就是为此而生。
function f(){ var localScope="local scope"; return function(){ console.log(localScope); } } f()();//local scope
我们在函数f()外访问到了局部变量localScope,这里在函数f()内定义的匿名函数就是一个闭包!