分类分类
更新时间:2026-03-29 01:21:03作者:fang
我们都知道在函数中定义的局部变量在声明他的函数体以及其嵌套的函数内始终是有定义的,并且在函数的作用域链上始终会有个对象指向全局对象,使函数能够访问到全局变量。
var ga = 'global';
var func = function() {
var la = 'local';
return function() {
return function()
{
return function()
{
alert(la);alert(ga);
}
}
}
}
a = func();
a()()();// 弹出 local 和 global
那么在外部定义的函数A, 被函数B在函数体内调用时,A能访问到B中定义的局部变量吗?答案是否定的,把上面的例子稍作修改如下
var ga = 'global';
function repeat() {
alert(la);
}
var func = function() {
var la = 'local';
alert(1);
repeat();
alert(2);
};
func();
上面的运行结果是只弹出了1,在调用repeat的时候,因为访问了未定义变量js解释器就报错把程序中断了。
原因是函数在定义时保存了一个作用域链,repeat函数在外部定义,在他的作用域中并没有一个局部变量叫la,继续在全局作用域查找也没找到la所以就会报错。
所以嵌套函数和在函数内嵌套调用外部函数还是有很大区别的。
相关
王道三国策略游戏380.18 MBv0.0.12026-03-28
下载刮个爽手机版休闲益智186.96 MBv1.0.282026-03-28
下载龙符天祭策略游戏756.03 Mv22026-03-28
下载入魂一番赏app网上购物106.66 Mv4.3.52026-03-28
下载童话师经营养成504.02 Mv1.1.52026-03-28
下载Bebo Cam app图像拍照264.51 Mv2.3.02026-03-28
下载纯三国官方正版策略游戏167.24 Mv0.0.12026-03-28
下载Poka Cam app图像拍照74.7 Mv1.8.02026-03-28
下载COLMO app趣味娱乐199.15 Mv2.3.5.22026-03-28
下载愤怒的小鸟变形金刚苹果版休闲游戏439.4 Mv2.39.02026-03-28
下载这也能切苹果版休闲游戏479.6 Mv21342026-03-28
下载口袋吉伊卡哇苹果手机版模拟游戏920.4 Mv2.0.02026-03-28
下载










