如何在JS中添加变量的数值而不是数字?

时间:2018-03-16 01:58:51

标签: javascript variables

非常新的,几乎不了解的功能。

以下是我的问题的一个例子:

        function getx() {
            x = 3;
        }

        function gety() {
            y = 2;
        }

        getx();
        gety();

        document.write("The sum of x and y is " + x + y); 

OUTPUT: The sum of x and y is 32

我想知道我怎么能这样做x + y = 5而不是32.显然3 + 2不是32,有人可以向我解释我如何输出正确的答案吗?

2 个答案:

答案 0 :(得分:2)

您在添加操作之前将字符串与x连接起来。因此,您需要使用括号包装Math运算,以避免字符串连接。



function getx() {
  x = 3;
}

function gety() {
  y = 2;
}

getx();
gety();

document.write("The sum of x and y is " + (x + y));




答案 1 :(得分:0)

你的函数getx()和gety()没有返回任何值,因为你没有return语句。

通过按照您的方式调用函数,您将创建两个全局变量:x和y,并分别初始化为3和2。

您应避免在此容量中使用全局变量。您的全局变量(或函数)可以覆盖窗口变量(或函数)。任何函数(包括窗口对象)都可以覆盖全局变量和函数。 您的变量应该用var声明。

除非有特殊说明,否则js变量不是强类型的,并且由于在将变量一起添加之前使用了连接运算符,因此它将它们视为字符串,这就是为什么连接将3和2放在一起的原因。

如果您将代码更改为此类代码,则应该完成您要实现的目标。

function getx() {
    var x = 3; 
    return x;
}

function gety() {
    var y = 2; 
    return y;
}

document.write("The sum of x and y is " + (gety() + getx()));