问答题1092/1588说说下面代码的执行过程

1var a=3; 2 function c(){ 3 alert(a); 4 } 5 (function(){ 6 var a=4; 7 c(); 8 })();
难度:
2023-05-31 创建

参考答案:

这段代码的执行过程如下:

  1. 定义变量 a 并赋值为 3。
  2. 定义一个函数 c,该函数弹出一个对话框显示变量 a 的值。
  3. 定义一个立即执行函数,并在其中定义变量 a 并赋值为 4。
  4. 在立即执行函数中调用函数 c。
  5. 函数 c 弹出一个对话框显示变量 a 的值,此时输出结果为 3。

原因是在立即执行函数中定义的变量 a 只在该函数作用域内有效,并没有改变全局作用域中的变量 a 的值,而函数 c 中使用的变量 a 是从全局作用域中查找的,因此输出的是全局作用域中的变量 a 的值。

最近更新时间:2024-07-19

赞赏支持

预览

题库维护不易,您的支持就是我们最大的动力!