我正在尝试编写一个JS程序来打印1到1000之间最大的回文(929)。我在代码的第4行得到Uncaught SyntaxError: Unexpected identifier
:
var num = 1;
for (var i=0;i<=1000;i++) {
if i == reverse(i) && isPrime(i)
num = i;
console.log(num);
}
document.write(num);
function reverse(s) {
var o = '';
for (var i = s.length - 1; i >= 0; i--)
o += s[i];
return o;
}
function isPrime(number) {
var start = 2;
while (start <= Math.sqrt(number)) {
if (number % start++ < 1) return false;
}
return number<=1 ? false : true;
}
什么是Uncaught SyntaxError: Unexpected identifier
?我该如何解决这个问题?
答案 0 :(得分:3)
您的
if
语句缺少括号()
和块标识符{}
。
JavaScript if
语句的语法如下:
if (condition) {
// do something
} else {
// do something else
}
因此,请更改上面的if
代码,您应该做得很好!
答案 1 :(得分:0)
我认为你错过了for循环中的两个括号,但我认为你的“反向”函数有错误。试试这个解决方案:
var num = 1;
function isReversible(s) {
var o=s.toString();
return o.split("").reverse().join("")==s.toString()?true:false;
}
function isPrime(number) {
var start = 2;
while (start <= Math.sqrt(number)) {
if (number % start++ < 1) return false;
}
return number<=1 ? false : true;
}
for (var j=0;j<=1000;j++) {
if (isReversible(j) && isPrime(j))
num = j;
console.log(num);
}
document.write(num);