Оператор присваивания присваивает значение своему левому операнду на основании значение его правого операнда. Основной оператор присваивания равен (=), который присваивает значение своего правого операнда его левому операнду. То есть x = y присваивает значение y x.
Другие операторы присваивания являются сокращение для операций, перечисленных в следующей таблице:
Shorthand operator | Meaning
--------------------------------------
| x += y | x = x + y |
----------------------------------------
| x -= y | x = x - y |
----------------------------------------
| x *= y | x = x * y |
----------------------------------------
| x /= y | x = x/y |
----------------------------------------
| x %= y | x = x % y |
----------------------------------------
| x <<= y | x = x << y |
----------------------------------------
| x >>= y | x = x >> y |
----------------------------------------
| x >>>= y | x = x >>> y |
----------------------------------------
| x &= y | x = x & y |
----------------------------------------
| x ^= y | x = x^y |
----------------------------------------
| x |= y | x = x | y |
----------------------------------------
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators#Assignment_operators
Спецификация определяет эти «сокращенные» операторы, как соединения Назначение (оп =)
http://ecma-international.org/ecma-262/5.1/#sec-11.13.2
Так на основе из вашего примера, если:
element.innerHTML = 'foo';
затем:
element.innerHTML += 'bar';
так же, как:
element.innerHTML = element.innerHTML + 'bar';
, что приводит к:
console.log(element.innerHTML); // "foobar"
'+ = 'используется для ** Конкатенации ** str ing – prog1011
Возможный дубликат [Как работает + = (плюс равный)?] (http://stackoverflow.com/questions/6826260/how-does-plus-equal-work) –