How to enumerate only those properties/methods of JavaScript objects added at runtime?
<p>The scenario: I'm trying to figure out an existing HTML/JavaScript site with a convoluted API.  It adds several properties to the <code>window</code> object.  I'd like to enumerate only those properties that are not builtins or defaults (e.g. exclude <code>window.location</code>, <code>window.parent</code>, etc.)</p>

<p>Is there an idiomatic JavaScript way to do this?  I'd thought of doing a shallow copy in a blank HTML page, then "subtracting" those properties somehow when enumerating the real one.</p>

<p>Ideally, i'd want a way to dump objects to the console or in a watch as if none of the regular <code>window</code> properties existed, only those added with JavaScript source.</p>
