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

Reply via email to