documentcloud/underscore — comment on commit e79586515c5f635650afc32976826e01463dcd1d
File: underscore.js line 677
By kitcambridge:

The `constructor` check will return false negatives in **most** environments when comparing otherwise equivalent objects from different frames:

var xArray = document.body.appendChild(document.createElement('iframe')).contentWindow.Array;
_.isEqual([1, 2, 3], new xArray(1, 2, 3));
// => false

The exceptions are Safari 2-4, which share the native constructors across all frames (so the above result will be `true`). However, the case can be made that objects from different frames shouldn't be considered equivalent anyway.

DOM elements in IE <= 8 also lack a `constructor` property, but there's no reliable procedure for comparing them (some element "properties" are getters, other properties are enumerated inconsistently across browsers). As such, I don't think this is as significant of a concern; just something to be aware of.