Javascript IE7:预期的对象

cod*_*nix 2 html javascript internet-explorer internet-explorer-7

我在IE7的脚本上获得第1行的错误"Object Expected",char 1(这是 - 这是).它在Firefox中工作正常,错误控制台什么都不打印.

我尝试了多种方法来调用我的函数,但没有一种方法:

<a href="javascript:doit()">Turingmaschine starten</a>
<a href="#" onclick="doit()">Turingmaschine starten</a>
Run Code Online (Sandbox Code Playgroud)

可能是什么问题呢?

<script type="text/javascript" language="JavaScript">

var state;
var index;
var program;
var data;

const S=0;
const X=1;
const S2=2;
const X2=3;
const M=4;
const E="SE";

function doit()
{
    state=document.getElementById("stat").value;
    program = document.getElementById("prog").value.split("\n");
    index = document.getElementById("dat").value.indexOf("Z")>>1;
    data = document.getElementById("dat").value.replace(/Z,/, "").split(",");

    for (var i = 0; i<program.length; i++)
    {
        program[i]=program[i].split(",");
    }

    while(state!=E)
    {
        var i;
        for (i = 0; i<program.length; i++)
        {
            if (program[i][S]==state && program[i][X]==data[index])
            {
                state = program[i][S2];
                data[index] = program[i][X2]
                index+= parseInt(program[i][M]);

                data.splice(index,0,"Z");

                if (data[data.length-1]!="*")
                {
                    data.push("*");
                }
                if (data[0]!="*")
                {
                    data.unshift("*");
                    index++;
                }
                document.getElementById("out").value+=state+": "+data+"\r\n";

                data.splice(index,1);

                break;
            }
        }

        if (i==program.length)
            break;
    }

    document.getElementById("out").value+="Done.\r\n";
}

</script>
Run Code Online (Sandbox Code Playgroud)

Che*_*try 5

ConstIE不支持.它特定于Firefox和Opera 9.0+.此外,如果您发布此代码的用途,也许我们可以帮助重构它.

https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Statements/const#Description