我刚才在浏览器控制台输出了一下,发现name这个变量是有默认值的,默认值是空字符串而你声明name,只是做了变量提升,没有重新赋值,所以name还是''
如果你换一个变量名name1,它就是正常的结果,也就是'undefined'
typeof的作用就是用来区分数据类型的,你前面已经声明了name 所以会显示为string类型。