您现在的位置:龙卷风首页 ›› 网络编程 ›› 阅读文章

FF支持\IE6不支持的Array的方法toSource()[JavaScript]

IE6不支持Array的toSource()方法,通过prototype添加以及其不足

在JavaScript中,有一个toSource()方法可以返回一个跟定义一个数组一样的字符串,并且可以把它传递给eval()方法,把它当作一个数组使用。经过测试,这个方法在FF中可以正常通过,而在IE6中则报错,提示说对象不支持此属性或方法。

简单示例:

<script>
var myarray = [1,2,3,4,5];
document.write(myarray.toSource()+"<br />");
</script>

要解决这个问题,似乎可以通过在prototype中增加相应的方法:

<script>
Array.prototype.toSource = function(){ return "["+this.toString()+"]"; };
var myarray = [1,2,3,4,5];
document.write(myarray.toSource()+"<br />");
</script>

这段代码可以正常使用,然而对于嵌套的array就没有办法像原有的toSource()那么好用了,看来需要更加完善的算法。

作者 林剑锋 本文仅代表作者观点,与龙卷风资讯网立场无关。

我来说两句

内容/Content