真的就是一个Bug? 那 var tmpArray = new Array(2); tmpArray[0] = "111"; tmpArray[1] = "222"; alert(tmpArray.toString()); 为什么又能正确执行呢? 那是不是说我这里showModalDialog返回对象不能看作是Array呢? 那么这个返回值到底是什么东西呢?总会有一个定义归属吧? 其在内存中应该是什么形式呢?栈?
那个代码正确,而对showModalDialog返回对象返回结果不正确。只能说是bug了 你只需遍历一下这个对象 var o = new Array(); for(v in returnValue) o[v] = returnValue[v]; alert(o);能遍历说明他的确是对象,只是有些问题罢了。我在你那个帖子中已说明了
<script language=JavaScript>
var a=[1,2,3,4]
alert(a.toString())
</script>
================================知之为知之,不知为不知,是知也。
大家有什么解决方法吗?
IE5好像是不支持toString()方法,也不支持join()方法的吧?
你能给我详细的解释吗?
win2000+ie5.0运行通过没有问题!所有的这三个方法统统支持!
<script language=JavaScript>
var a=[1,2,3,4]
alert(a.toString())
alert(a.valueOf())
alert(a.join(","))
</script>
唉,你上面说的方法我在VJ++中使用都是可以的,不过在我的jsp文件中使用,就是过不去,错误消息是告诉我使用了不支持的方法或者属性。我也很奇怪究竟是为什么。你和的方法我发帖子之前也都试过啊,就是不通过啊。我都感觉莫名其妙!为这个,我连机器都重新做了!
和你说的一样,win2000+ie5.
用
s="";
for(v in returnValue)
s += ","+returnValue[v];
alert(s.substr(1));
可显示
请问能告诉我showModalDialog方法返回的到底是什么吗?
我接触JavaScript时间并不长。
那为什么join()方法也不成呢?
请看看这个帖子:
http://expert.csdn.net/Expert/topic/1667/1667013.xml?temp=.6620447
同样是我的这个问题的另外一个帖子。
alert(returnValue);
弹出框中显示:[object]
alert(returnValue.toString());
浏览器出错提示:意外地调用了方法或属性
js声称所有js对象都有toString方法,可见这里有一个bug
那
var tmpArray = new Array(2);
tmpArray[0] = "111";
tmpArray[1] = "222";
alert(tmpArray.toString());
为什么又能正确执行呢?
那是不是说我这里showModalDialog返回对象不能看作是Array呢?
那么这个返回值到底是什么东西呢?总会有一个定义归属吧?
其在内存中应该是什么形式呢?栈?
你只需遍历一下这个对象
var o = new Array();
for(v in returnValue)
o[v] = returnValue[v];
alert(o);能遍历说明他的确是对象,只是有些问题罢了。我在你那个帖子中已说明了
方法虽然本了点儿,但是安全。jsp不会,如果不行,不要见怪。
谢谢大家,结贴!
另请大家关注
【阿紫、随风事件专题】http://www.csdn.net/Subject/224/index.shtm