untouched
Get pristine copies of built-in objects (like Array
or JSON
), even if they've been modified. This is generally for library authors who find themselves in monkey-patched browser environments.
Currently only made for browsers. Feel free to submit a Node patch with the vm
module!
Here's an example:
// Let's say that someone has messed with the Array prototype.// If you try to use it, you're screwed!Arrayprototype { return 'this no longer works'} // This will return 'this no longer works'!var arr = 1 2 3arr // With untouched, you can get around this problem.// This returns what you expect!var myUntouched = var untouchedArr = 'Array'1 2 3untouchedArr // You can use it for things other than Array, too.var untouchedJson = untouchedJson
We accomplish this by creating a hidden <iframe>
and pulling variables out of it. You can remove the iframe whenever you're done with it:
myUntouched