This operation allows to store some intermediate value in a variable.
In other words you can assign a value to variable like in most programming
languages.
Let's consider an example:
${distanceToTheMoon=myVar}
Here we have 2 operations:
1) resolution of a
distanceToTheMoon JavaScript variable
2) assignation a value to the
myVar JavaScript variable as
=myVar
I.e. that expression produced a
myVar JavaScript variable from the
from the
distanceToTheMoon variable.
Another example:
${random()=rnd|rnd|concat()}
In this example we are producing a random number and concatenating it with
itself.
See illustration how it works:
1) Resolving a random() function and calling it. It produces a random number.
2) Assigning that random number to the rnd JavaScript variable.
3) Putting a value of an rnd variable to the function arguments buffer.
4) Resolving a value of rnd variable.
5) Putting again a value of an rnd variable to the function arguments buffer.
6) Resolving a concat() function and calling it. This function concatenates those
two numbers from function arguments buffer.
Please note the JavaScript variables produced by this operation are living
only in the current HTTP session.
It doesn't affect any JavaScript file which is remains unchanged.