a = 1 变更的是 window.a 可以理解对吧 function a (){}走到这一步的时候 a相当于成了局部函数 可以理解么? 因为你在外部调函数内部的a是调不到的 这样说可以理解么?也就是说这个时候a已经变成了局部变量 a = 21 变更的实则 function a(){} 这样可以理解吗?
云胡同学的博客变量在函数体内声明,作用域范围是在函数体内。 'use strict'; function foo() { var x = 1; x = x + 1; } x = x + 2; // ReferenceError! 无法在函数体外引用变量 x 1.2 不同函数同名变量 'use strict'; ...