原文地址:http://hax.iteye.com/blog/349569
代码示例1:在HTML文档里写上这段代码:
<script type="text/javascript">
window['a'] = 'Hi';
</script>
<script type="text/javascript" src="out.js"></script>
<script type="text/javascript">
alert(a);
</script>
然后在out.js里写上这句:
if (false) {
var a = 'Hello';
}
然后用FF和IE6分别运行,看看你得到什么。
在FF里会弹出“Hi”,但是在IE6中,会得到“undefined”。
示例代码2:
x = {};
// window.x;
alert(x);
alert(delete x);
try {
alert(x);
}
catch(e) {
alert(e.name + ":" + e.description);
}
以上代码可正常执行。但是如果把第二行的注释去掉,可以观察到在执行 alert(x) 时报出一个“Out of memory”的错误!其后你也将不能对x或者window.x做任何事情。 这短短的代码怎么能out of memory呢——显然这里产生了一个空指针(“遗失引用”)错误!