I’m wondering if this is even possible. Basically I have a couple objects that I pass to a function, and under certain conditions I want that function to set the object to null.
Ex.
var o = {'val' : 0};
f = function(v)
{
v = null;
};
f(o); // Would like this to set 'o' to null
Unfortunately it seems I can only set the function’s argument to null. After calling the function ‘o’ will still refer to an object.
So, is it even possible to do this? And if so, how?
If you want to change the value of
owhenf(o)is called, you have two options:1) You can have
f(o)return a new value for o and assign that to o like this:Inside of
f(), you return a new value foro.2) You put o into another object and pass a reference to that container object into
f().The javascript language does not have true pointers like in C/C++ that let you pass a pointer to a variable and then reach back through that pointer to change the value of that variable from within the function. Instead, you have to do it one of these other two ways. Objects and arrays are passed by reference so you can reach back into the original object from the function.