Adam D. Ruppe wrote:
On Wednesday, 29 February 2012 at 03:24:17 UTC, Piotr Szturmaj wrote:
What about passing values within object?
Yeah, that's one of the first things I thought of, but
what about a more complex thing:
d = a(c) + 4;
where will the c=wrapper.value go?
It can't go at the end of the function call
now. Also, if the function call is in the
middle of something, we'd have to assign the
wrapper somewhere too. Suppose:
d = (c = 2, a(c));
I think anything that isn't inline for the
argument will be too easy to break.
Here's another try with objects:
function Wrapper(value) {
this.value = value;
}
Wrapper.prototype.valueOf = function() { return this.value; }
Wrapper.prototype.toString = function() { return this.value.toString(); }
function a(b) { b.value = 10 + b; }
var c = new Wrapper(5);
a(c);
alert(c); // shows 15
but this implies that all value variables must be initialized with new
Wrapper(x).