JS函数嵌套的一个问题,如下图
3个回答
展开全部
玩什么呢,最近看你好多这类问题。执行顺序由外至内。
// 全局变量,在此例中和下面的所有 a 都没有关系
var a = 1;
// 自动执行
(function f(a) {
// 第一层没有参数传入,此处 a 为 undefined
// alert(a);
// 声明第一层匿名函数内部变量
var a = 2;
(function() {
// 第二层没有参数传入,此处 a 为 undefined
// alert(a);
// 声明第二层匿名函数内部变量
var a = 3;
(function() {
// 第三层没有参数传入,此处 a 为 undefined
// alert(a);
// 声明第三层匿名函数内部变量
var a = 4;
// 输出第三层匿名函数内部变量 a,4
alert(a);
})(); // <--- 此处没有参数传入
})(); // <--- 此处没有参数传入
})(); // <--- 此处没有参数传入
展开全部
var a=1;
// 是按照1 -> 2 -> 3 的顺序执行的。都是自执行的匿名函数
// 按照代码的结构,我猜是为了演示作用域吧
(function(a){ // 1
var a=2;
(function(){ // 2
var a=3;
(function(){ // 3
var a=4;
alert(a);
})();
})();
})();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
由内而外的执行,作用域决定了a变量的赋值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询