function aaa(){ a(); if(true){ function a(){ console.log(1); } } if(false){ function b(){ console.log(2) } } function a(){ console.log(3); } } 与 function aaa(){ a(); function a(){ console.log(3); } if(true){ function a(){ console.log(1); } } if(false){ function b(){ console.log(2) } } } 结果都是3,证明fuction的变量提升是只在当前作用块内。