日期:2014-05-16  浏览次数:20296 次

javascript 浏览器不同的一个差异

今天练习javascript时,发现一个问题,我用chrome21进行开发调试,怎么都调试不同,后来用ie发现得到正确结果。

代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        /*function Person(name, year) {
            this.name = name;
            this.year = year;
            this.sayhello = function () {
                alert("my name is "+name+".  my year is"+year);
            }<Button Content="Click me" x:Name="MyButton" FontSize="18" Width="150" Height="45" />

        }
        var p1 = new Person("fujia", 18);
        p1.sayhello();
        */
        function myreverse(arr) {
            for (var i = 0; i < arr.length/2; i++) {
                var temp = arr[i];
                arr[i] = arr[arr.length - i - 1];
                arr[arr.length - i - 1] = temp;
            }
        }

        var arrays = new Array();
        arrays[0] = "Tom";
        arrays[1] = "jerry";
        arrays[2] = "Moring";
        for (var i = 0; i < arrays.length; i++) {
            alert(arrays[i]);
        }
        myreverse(arrays);
        for (var i = 0; i < arrays.length; i++) {
            alert(arrays[i]);
        }
          
       
       
    </script>
</head>
<body>


</body>
</html>
结果在chrome21上,得到的结果是Moring,jerry,Moring.我不知道为什么第3个字符串没有翻转,而ie8得到正确结果,为Moring,jerry,Tom.顺便提一下,我是在vs2010中查看的,但是后来我直接用chrome打开,发现得到正确结果,不知道是不是微软对chrome产生的原因。