Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IE7:应为对象_Javascript_Html_Internet Explorer_Internet Explorer 7 - Fatal编程技术网

Javascript IE7:应为对象

Javascript IE7:应为对象,javascript,html,internet-explorer,internet-explorer-7,Javascript,Html,Internet Explorer,Internet Explorer 7,我在IE7中的脚本的第1行char 1(无论在什么地方)上得到了错误“objectexpected”。它在Firefox中运行良好,错误控制台不打印任何内容 我尝试了多种方法调用我的函数,但都不起作用: <a href="javascript:doit()">Turingmaschine starten</a> <a href="#" onclick="doit()">Turingmaschine starten</a> 有什么问题吗 <

我在IE7中的脚本的第1行char 1(无论在什么地方)上得到了错误“objectexpected”。它在Firefox中运行良好,错误控制台不打印任何内容

我尝试了多种方法调用我的函数,但都不起作用:

<a href="javascript:doit()">Turingmaschine starten</a>
<a href="#" onclick="doit()">Turingmaschine starten</a>

有什么问题吗

<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>

var状态;
var指数;
var程序;
var数据;
常数S=0;
常数X=1;
常数S2=2;
常数X2=3;
常数M=4;
const E=“SE”;
函数doit()
{
state=document.getElementById(“stat”).value;
程序=document.getElementById(“prog”).value.split(“\n”);
index=document.getElementById(“dat”).value.indexOf(“Z”)>>1;
data=document.getElementById(“dat”).value.replace(/Z,/,“”)。split(“,”);

IE不支持for(var i=0;i
Const
。它是特定于Firefox和Opera 9.0+的。此外,如果您发布此代码的用途,也许我们可以帮助重构它


我也有类似的问题,我所做的只是改变:

<script language="javascript" type="application/javascript" src="abc.js"></script>

为此:

<script language="javascript" src="abc.js"></script>

所以刚刚删除了
type=“application/javascript”
部分


干杯

你能修改代码的格式吗?