无法在 ubuntu 14.04 中的 Chromium 浏览器中呈现 Java 脚本

无法在 ubuntu 14.04 中的 Chromium 浏览器中呈现 Java 脚本

当我尝试渲染一个简单的 java 脚本文件来打印斐波那契表时,我在 Chromium 中没有得到任何东西(空白页)...如下所示

<!DOCTYPE html>
<html>
<head>
<title> The Fibonacci Numbers </title>
</head>
<body>
<script>
    document.write("<h2>Table of Fibonacci Numbers</h2>");
    for(i=0;j=1;k=0;f=0;i<50;i++;f=j+k;j=k;k=f) {
        document.write("Fibonacci("+i+") = "+f);
        document.write("<br>");
        }
</script>
</body>
</html>      

我认为这可能是因为 chromium 中未启用 javascript,所以我搜索并运行了...

$ sudo apt-get update && sudo apt-get install icedtea-plugin

但是,它不起作用?问题是什么?

答案1

与 Chrome 无关,与 Java 无关(IcedTea 是一个插件,不是Javascript)。问题很简单:该循环的语法for全部错误的。

for(i=0;j=1;k=0;f=0;i<50;i++;f=j+k;j=k;k=f) {...}

像这样的简单迭代器for循环(还有其他类型的 for 循环)应如下所示:

for (declaration; limit; iterator) {
    code
}

我可以看到你正在尝试什么,你只需要重新安排它:

j=1;k=0;f=0;
for(i=0;i<50;i++) {
    f=j+k;j=k;k=f;
    document.write("Fibonacci("+i+") = "+f);
    document.write("<br>");
}

答案2

这与 Ubuntu 无关,只是你的脚本中存在语法错误。下次打开 javascript 控制台(点击F12)。你会看到此错误:

Uncaught SyntaxError: Unexpected token ; 

安装了 FireBug 的 Firefox 更有用一些:

SyntaxError: missing ) after for-loop control
for(i=0;j=1;k=0;f=0;i<50;i++;f=j+k;j=k;k=f) {
--------------^

据我所知,你不能在for循环声明中完成所有这些操作,但我不是 JavaScript 专家,所以我可能是错的。可以肯定的是,你不能这样做方式。例如,你在哪里更改 的值j?即使这样有效,它总是会打印0。你要找的是类似

<html>
<head>
<title> The Fibonacci Numbers </title>
</head>
<body>
<script>
    document.write("<h2>Table of Fibonacci Numbers</h2>");
    document.write("Fibonacci(0) = 0<br>");
    document.write("Fibonacci(1) = 1<br>");
    last=1;
    BeforeLast=0;
    for(i=2;i<50;i++){
        f=last+BeforeLast;
        document.write("Fibonacci("+i+") = "+f);
        document.write("<br>");
        BeforeLast=last;
        last=f;
        }
</script>
</body>
</html>      

相关内容