[Project_owners] clearing variables
fry.kun at gmail.com
Tue Feb 7 11:49:45 EST 2006
writing 'delete foo' ensures that the reference is broken and that
variable is no longer defined. 'foo = null' removes the reference too
but the variable is still defined.
the memory is probably not cleared immediately - what's the point?
I don't think there's any way in JS to get uninitialized value.
for instance, if you do
it simply says undefined
what you need to worry about is multiple references and copies
if the data is so sensitive, why not just use the built-in password
manager? many extensions do that already.
On 2/7/06, Rod Whiteley <rod.whiteley at gmail.com> wrote:
> Eric H. Jung wrote:
> > I suppose that question can be answered by someone who knows whether or
> > not properties of a variable are deleted when the variable itself is
> > deleted. Anyone?
> Of course they are, but even that's not the whole point. Suppose your
> code executes:
> foo = "sensitive data"
> and later it executes:
> foo = null
> The string "sensitive data" is probably still in memory*, even though
> the memory is available for reuse and might be overwritten later. Writing:
> delete foo
> is no help. That only affects memory used by the property itself.
> * And that's my question: is unused memory cleared immediately, or
> cleared later by the garbage collector, or (most likely) not cleared at
> all until something else happens to overwrite it?
> Rod Whiteley
> Project_owners mailing list
> Project_owners at mozdev.org
More information about the Project_owners