<script type="text/javascript">
window.onload=function(){// console.log(a)//如果直接打印,会提示a is noe defined
console.log(b)//如果在下面var一个b的话,b不会报错,打印为undefined,证明定义的变量提升了,但是赋值没有提升,但是let和const依旧会报错var b =1}</script>
关于js中变量提升问题由于js是弱类型语言,可以先使用,后定义。这是因为,一旦定义了,就会默认把次序提升到最高,但是赋值不会提升。具体如下所示:<script type="text/javascript"> window.onload = function(){ // console.log(a) //如果直接打印,会提示a is noe defined console.log(b) //如果在下面var一个b的话,b不会报错,打印为undefined,证明定义的变量提升了,但是