The Mozilla project has gone through a number of different JS bindings for the DOM in Mozilla. This post is basically a trip down memory lane, walking through how JS running in the SpiderMonkey JavaScript engine in Mozilla has communicated with the C++ DOM throughout the years. But before I get into that, let’s clarify what DOM bindings are. DOM bindings are the pieces of code that sit in between