我无法弄清楚这部分var z = x + y; document.write(x +“<br/>”);

时间:2014-02-07 05:45:55

标签: javascript variables math

<script>
    var x=5; var y=6; var z=x+y;  
    document.write(x + "<br>"); 
    document.write(y + "<br>"); 
    document.write(z + "<br>"); 
</script>

据我所知,需要加号以添加var 5&amp; 6,输出到z 但为什么z有一个加号?

4 个答案:

答案 0 :(得分:1)

+也用于在JavaScript中连接两个字符串,这意味着连接两个字符串。您的上一个陈述是将z<br>的值相连,这会导致11<br>。然后由document.write撰写。

但是,+运算符的运算完全取决于上下文。考虑一下 -

document.write (3 + 5 + " hello");

以上内容将在页面上写下8 hello字符串。这是由于表达式从左到右计算的原因,因此3 + 5首先计算为8,然后将其与字符串连接以生成字符串8 hello。所以第一个+运算符就像一个算术运算符,而第二个运算符就像一个连接运算符。但如果你写 -

document.write(3 + " hello");

然后+运算符将像串联运算符一样在此处运行,并将连接这两个值。

有关更多信息,您可以访问以下页面 -

  1. Arithmetic Operators in JavaScript
  2. String Operators in JavaScript

答案 1 :(得分:0)

这是因为你正在与STRING

结合

答案 2 :(得分:0)

+将根据操作数的类型进行连接。

1 + 2 = 3
1 + 2 + ' bread' = '3 bread'
1 + ' bread' = '1 bread'

http://jsfiddle.net/fizerkhan/R3nLf/

答案 3 :(得分:0)

在Javascript中,+用于添加数字,数字和字符串,字符串和数字,字符串和字符串。为字符串创建另一个运算符是没有意义的,所以他们“重载”+运算符来处理字符串。

此外,+运算符可以作为数字转换器。 例如:

var x = +"123";

这里,x将是一个数字,而不是一个字符串,因为+正在进行转换。

typeof x; // "number"

使用它,你必须记住,如果第一个操作数是一个字符串,结果将被计算为一个字符串。

var x = "5" + 67; // x = "567" not 72!