找回密码
 注册

[JS] JS陷阱之undefined污染

php 发表于 2014/7/2 01:24 | 显示全部楼层 |阅读模式
Javascript的undefined污染,是指在某些浏览器中,JS undefined可以被重新赋值。
最经典的例子就是臭名昭著的IE6 IE7 IE8,可以说哪里有问题,哪里就有 Microsoft Internet Explorer 6 7 8.
对于Javascript来说,typeof null返回object已引起了不小的争议,而undefined可以重新赋值更是一个无法理解的事情。
在 IE 6-8 中运行以下代码,运行的结果是3,也就是说本应该只读的undefined被修改污染了。
不过不用担心,除了 IE 6 7 8 以外,现在大多数的浏览器JS解析引擎都已经纠正了这个问题。
<script>
        var undefined=3;
        alert(undefined);
</script>

手机版|轻松E站

轻松E站

快速回复 返回顶部 返回列表