JavaScript变量未定义范围

时间:2017-09-04 20:22:54

标签: javascript scope

var a = 1;
var b = 2;
var c = 3;
(function firstFunction() {
   console.log("a: " + a + ", b: " + b + ", c: " + c);
   var b = 5, c = 6;
   console.log("a: " + a + ", b: " + b + ", c: " + c);
   (function secondFunction() {
      var b = 8;
      console.log("a: " + a + ", b: " + b + ", c: " + c);
      (function thirdFunction() {
         var a = 7; c = 9;
         (function fourthFunction() {
            var a = 1, c = 8;
         })();
      })();
   })();
})();

a:1,b:未定义,c:未定义 a:1,b:5,c:6 a:1,b:8,c:6

为什么第一个console.log上的a = 1,但b和c未定义?

感谢您的帮助和解释。

0 个答案:

没有答案