Javascript +;=当您只需执行+;相反

Javascript +;=当您只需执行+;相反,javascript,function,Javascript,Function,我一直在看一个javascript教程来更新我的知识。 我只是需要一些关于他为什么决定使用这种代码“风格”的指导 基本上,有一个名为result的变量,它有一个空字符串(“”),我不太清楚他为什么使用(result+=…),而他也可以使用(result=…),在我尝试时它显示了相同的输出 function mySentence(myName, myVerb){ var result = ""; result += myName + " " + myVerb + " towards the tre

我一直在看一个javascript教程来更新我的知识。 我只是需要一些关于他为什么决定使用这种代码“风格”的指导

基本上,有一个名为result的变量,它有一个空字符串(“”),我不太清楚他为什么使用(result+=…),而他也可以使用(result=…),在我尝试时它显示了相同的输出

function mySentence(myName, myVerb){
var result = "";
result += myName + " " + myVerb + " towards the tree.";

return result;
}

console.log(mySentence("Dale", "walked"));
vs

function mySentence(myName, myVerb){
var result = "";
result = myName + " " + myVerb + " towards the tree.";

return result;
}

console.log(mySentence("Dale", "walked"));
视频链接:


36:28:00:wordblanks

我能想到的拥有它的唯一原因是作者希望能够在所有使用
+=
的初始声明之后重新排列一系列语句,而不必担心哪一个最初是第一个语句。例如:

var result = "";

result += "something";
result += "another thing";
result += "yet another thing";
…他们以后可能想交换东西的地方:

var result = "";

result += "another thing";
result += "something";
result += "yet another thing";

变量
result
设置为
“”
,开头为空字符串

执行
result=
操作时,变量将替换为新值。 但是当您执行
result+=
时,变量不会被替换。它将与已经存在的值一起添加


例如,在代码中,如果变量在开始时设置为某个值,如
result=“答案是:
,那么这两种样式将产生不同的结果。
result=
样式将返回
Dale向树走去。
。然后
结果+=
将返回
答案是:Dale朝树走去。

我怀疑你在那里添加了一个额外的
+
?(就在
myName
之前)Edit:。在这种情况下,此人只是决定以这种方式编写代码。我不知道他为什么这样做,在JavaScript中也不需要这样做。在其他一些语言中,例如在Java中,如果可能没有定义
result
,则有必要使用它。您的意思是您可以使用
=
来代替:
var result;结果=指向树的myName+“”+myVerb+”或只是
var result=myName+“”+myVerb+”指向树。“
x+=y
相当于
x=x+y
。很明显,为什么您可能更喜欢
+=
而不是重复
x
…?!