<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="IE6,IE7全局变量的DID(Dissociative Identity Disorder译为:人格分裂症) 变量怪异的操作模式和存储" id="card1">
<p> 游客</p><p>
标题:IE6,IE7全局变量的DID(Dissociative Identity Disorder译为:人格分裂症) 变量怪异的操作模式和存储<br/>
正文:<br/>
问题描述：在HTML文档里写上这段代码： &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt; window['a'] = 'Hi'; &amp;lt;/script&amp;gt; &amp;lt;script type= &amp;quot;text/javascript&amp;quot; src=&amp;quot;out.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt; &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt; alert(a); &amp;lt;/script&amp;gt; 然后在out.js里写上这句： if(false ) { var a = 'Hello'; } 然后用FF和IE6分别运行，看看你得到什么。 在FF里会弹出&amp;ldquo;Hi&amp;rdquo;，但是在IE6中，会得到&amp;ldquo;undefined&amp;rdquo;。 很神奇吧？按语法，无论如何，a都不可能是undefined。但是IE6里就会。 如果把两个语句都写在同一个文件里，就不会有这个情况。 如果把out.js里改成window.a，或者把前一个改成var a，也不会有这个情况。 如果把out.js里的var a移到if语句之外，或是把if的条件改为true，也不会有这个情况。这里刨去其实无关的if 语句，可以把问题简化成这样的形式：Javascript代码&amp;lt;script&amp;gt; window.x = 1 &amp;lt;/script&amp;gt; &amp;lt;script&amp;gt; var x alert(x) &amp;lt;/script&amp;gt;按理应该输出&amp;ldquo;1&amp;rdquo;，但是在IE中输出&amp;ldquo;undefined&amp;rdquo;。 而将两段script合并在一起 Javascript代码&amp;lt;script&amp;gt; window.x = 1 var x alert(x) &amp;lt;/script&amp;gt;或者先加上一句&amp;ldquo;x = xxx&amp;rdquo;的赋值语句Javascript代码&amp;lt;script&amp;gt; x = null window.x = 1 &amp;lt;/script&amp;gt; &amp;lt;script&amp;gt; var x alert(x) &amp;lt;/script&amp;gt;输出结果就是正常的&amp;ldquo;1&amp;rdquo<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=730&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=730&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=730&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=730&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=730&amp;Page=8">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=730">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=730">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>