Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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 如何修复此语法错误?_Javascript_Syntax Error - Fatal编程技术网

Javascript 如何修复此语法错误?

Javascript 如何修复此语法错误?,javascript,syntax-error,Javascript,Syntax Error,代码是: function roundAmount(theDecimal) { var s = "" + Math.round(theDecimal * 100) / 100 var i = s.indexOf('.') if (i < 0) { return s + ".00" } var t = s.substring(0, i + 1) + s.substring(i + 1, i + 3) if (i

代码是:

  function roundAmount(theDecimal) { 
    var s = "" + Math.round(theDecimal * 100) / 100 
    var i = s.indexOf('.') 
    if (i < 0) { 
        return s + ".00" 
    } 
    var t = s.substring(0, i + 1) + s.substring(i + 1, i + 3) 
    if (i + 2 == s.length)     
        t += "0" 
    return t 
  }

有人知道如何解决这个问题吗?

在这行末尾加一个分号!像这样:

if (i < 0) return s + ".00";
如果(i<0)返回s+“.00”;

它需要一个分号,所以添加一个分号

if (i < 0) 
  return s + ".00";
if(i<0)
返回s+“.00”;

这有助于调试和单步执行代码。

我看不出您在前面的评论中发布的代码有什么特别的错误,但我建议您始终在语句末尾添加分号。虽然它们不是必需的,但它通常使调试此类问题变得更容易

关于您的脚本:

上面脚本中的问题是最后一个if语句,它执行一些操作,然后返回。手术后你需要一个分号

今后,作为一种良好的做法,请确保在每个有效语句后加上分号。这样就不会打扰你了

把每一行想象成一个想法,把花括号想象成将想法“组合”在一起并“联系”在一起的方式

下面是一个完整的想法,说“给我一个变量”i“并给它1+2的值

var i = 1 + 2;
下面是一个关于“如果我是3,那么将1添加到i”的条件的完整想法。“将1添加到i”是它自己的想法,因此它需要一个分号。因为If语句的curlybraces的特殊之处在于,它们在“完整想法”之后不需要分号,只要你放置一个“block”(这就是curlybraces真正的用途)在它之后,把思想封闭起来

这意味着以下各项有效:

if( i == 3 ) {
    i = i + 1;
}
以下无效,因为if后面的分号结束了if前面的“思想”,如果i等于3,则知道该怎么办:

if( i == 3 ) ; {
    i = i + 1;
}
有关基本JavaScript教程,请查看

一定有更好的方法吗?

每当您发现自己在decmial上执行大量字符串操作时,最好问问自己“有更好的方法吗?”

看起来您正在编写一个函数,在显示两个小数点的同时将数字四舍五入到最接近的百分之一。有一种更简单的方法可以做到这一点。您只需将数字四舍五入到最接近的百分之一,然后让javascript输出固定的点号

例如:

function roundAmount( theDecimal ) {
    //first round to the nearest hundredth
    //then return the value with two decimal places as a string
    return theDecimal.toFixed( 2 );
}

噢,顺便说一下,语言是java脚本thanksa分号缺失在Javascript中不重要,那一行是好的。错误一定在其他地方。我想可能在上面一行。需要查看更多代码…这是我们应该通过修复问题来回答的问题类型吗?例如,“我的问题是我写了{this},但是我真的应该写{that}“其中{this}是他的原始材料,{that}是“正确”的答案。函数roundAmount(theDecimal){var s=”“+Math.round(theDecimal*100)/100var I=s.indexOf('.')if(I<0){return s+“.00”}var t=s.substring(0,I+1)+s.substring(I+1,I+3)if(I+2==s.length)t+=”0“return t}希望这有助于它在输入分号时仍然出现错误
var i = 1 + 2;
if( i == 3 ) {
    i = i + 1;
}
if( i == 3 ) ; {
    i = i + 1;
}
function roundAmount( theDecimal ) {
    //first round to the nearest hundredth
    //then return the value with two decimal places as a string
    return theDecimal.toFixed( 2 );
}