document.write将不会在浏览器窗口中打印

时间:2015-07-08 17:11:05

标签: javascript html

所以我正在从Euler项目(最大的Palindrome产品 - https://projecteuler.net/problem=4)开始研究问题4,我需要测试我的代码但是document.write似乎不想工作。这是我第一次在Stack Overflow上发布一个问题所以请告诉我是否需要澄清或记录我犯的任何错误。感谢任何帮助,谢谢!

//JS_RUNNER.html
<!DOCTYPE html>
<html>
<script type="text/javascript" src="JS_PROBLEMS.js"></script>
</html>

//JS_PROBLEMS.js
var l = 0;
for(var a = 100; a < 1000; a++) {
    for(var b = 100; b < 1000; b++) {
        var p = (a*b).toString();
        var t = "";
        for(var i = p.length; i >= 0; i--) {
            t += p[i];
            if(((a*b) > l) && (p.localeCompare(t) == 0) {
                l = a * b;
            }
        }
    }
}
document.write(l);

3 个答案:

答案 0 :(得分:0)

你错过了if()

的结束括号
AUTHORIZATION [dbo]

作为补充说明,如果您在浏览器中测试Javascript,通常最好让开发人员工具打开(大多数浏览器中的F12会为您提供此功能)。

使用console.log();将数据写入控制台,您还将收到错误报告。

答案 1 :(得分:0)

因为这里有错误:

if(((a * b)&gt; l)&amp;&amp;(p.localeCompare(t)== 0) {

你没有关闭if条件的圆括号。

var l = 0;
for(var a = 100; a < 1000; a++) {
    for(var b = 100; b < 1000; b++) {
        var p = (a*b).toString();
        var t = "";
        for(var i = p.length; i >= 0; i--) {
            t += p[i];
            if(((a*b) > l) && (p.localeCompare(t) == 0)) {
                l = a * b;
            }
        }
    }
}

答案 2 :(得分:0)

请检查一下。

var largePalin = 0;
var intA=0;
var intB = 0;
for(var a = 100; a < 1000; a++) {
    for(var b = 100; b < 1000; b++) {
        var strNumber = (a*b).toString();
         if(strNumber===strNumber.split("").reverse().join("")){
               // document.writeln(strNumber)

                if(strNumber > largePalin){
                    intA = a;
                    intB=b;
                    largePalin = strNumber;
                }
         } 
    }
}
document.writeln("Largest palindrome product is (a,b) ====== ("+intA+" , "+intB+")" )
document.write(largePalin)