document.write('
解析: 函数 a 与变量 b 重名,后面的赋值语句会使前面的函数对象失效,而使 a 变成一个普通变量。
JavaScript 是预编译机制,会使函数定义被优先处理,即使改变语句顺序也 不会改变输出结果,所以 alert 的结果是 1。