Javascript出现奇怪错误

Javascript strange error

本文关键字:错误 Javascript      更新时间:2023-09-26

首先,对不起我英语不好。这是我的JSfiddle,针对我的问题:

var x = 21;
var mod = x % 4;
switch (mod) {
    case 0:
        var z = x;
        break;
    case 1:
        var y = 3;
        var z = x + y;
        break;
    case 2:
        var y = 2;
        var z = x + y;
        break;
    case 3:
        var y = 1;
        var z = x + y;
        break;
}
console.log(z);

jsfiddle.net/dsh0upyn/1/

为什么javascript返回结果351而不是36?如果您取消注释"var x=35;",并使用它来代替第二行,则代码运行良好。

我不明白,如果脚本可以求解模数,并将其用作数字,但之后将其用作字符串并连接35和1。

您需要使用.parseInt()来解析它,因为+用于连接字符串值。如果您想执行加法,则需要解析它。

var x = parseInt(document.getElementById("input-option").value , 10);

演示

Javascript .value默认值为字符串,您需要使用parseInt()将其转换为整数。

var x = parseInt(document.getElementById("input-option").value);

这里是伙伴,

   var x = parseInt(document.getElementById("input-option").value);

你需要吗

http://jsfiddle.net/dsh0upyn/4/

在javascript中,+运算符用于字符串串联-从输入中获得的值是一个字符串。要将其用作数字,请将x更改为1*x:

http://jsfiddle.net/ndru/dsh0upyn/2/

默认情况下为字符串。。进行转换

var x = parseInt(document.getElementById("input-option").value);