Irakli Gozalishvili wrote:
Lately I have being struggling with an implementation differences of
host (DOM) objects across the browsers.
So far only reliable way I could find to identify host objects is by a
following assertion:
object.constructor.call === void(0)
Wow, that's not bad (except for the overparenthesized 0 :-P).
Behaviour seems to be consistent across FF, Opera, Safari, and Chrome
(Don't have windows to test on IE).
I think it would be great if there was some standardised way to
identify host objects.
There does seem to be some fuzzy need, but given jQuery's isPlainObject
(http://api.jquery.com/jQuery.isPlainObject/) the way people check varies.
My personal use case is polymorphic method dispatch
library https://github.com/Gozala/method that has same semantics as
clojure protocols. Method implementations for host objects and
built-ins are stored in the separate dictionary to avoid memory leaks
and to support objects from diff JS contexts / frames / compartments.
Doesn't the latter (cross-frame/etc.) need affect native objects too?
/be
If you know of a better of identifying host objects I would really
love to know that too.
Regards
--
Irakli Gozalishvili
Web: http://www.jeditoolkit.com/
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss