var a = 0, b = 0; function A(a) { // A(1)执行 // 1.A函数被重置为 // function A(b) { // console.log(a + b++); // }; // 2.执行打印console.log(a++), // 因为此时的a是形参,形参的值是传入的1, // 所以打印1,而且形参a执行了++,此时值为2 A = function (b) { // A(2)调用情况 // 这个a采用的是闭包中的a,而不是全局中的a, // 所以是2,b是形参也是2,所以打印的是4 // b使用的是传入的形参而不是全局中的b console.log(a + b++); }; // 调用函数A(1)的时候执行这一行代码, // 并且把函数重置 console.log(a++); }; A(1); // 1 A(2); // 4
作用域-笔试
关注
打赏