为什么①②中输出的a不一样?

①<br> var a=document.getElementById(&quot;abc&quot;);<br> alert(a); ……
② function fn(){ a=document.getElementById(&quot;abc&quot;);<br> alert(a);}

因为运行的时机不同,可能在运行第一个的时候,abc这个元素还没有加载,所以可能得不到值,具体要看你完整的代码

看fn()在哪调用的

建议控制台断点调试一下,应该是执行的时间不同