Could someone who understands these things explain to me why flattening the declaration in the second example appears to make it 85% faster?
Doing this in inner loops is going to cause a noticeable performance degradation. (Doing it in expensive asynchronous operations, which is what callbacks are often used for, is not going to make a measurable difference.)
In the second example, he creates a single closure and places it on the point's prototype.
Unsurprisingly, creating one object is faster than creating a thousand of them. I'm not sure why the author thinks this has anything to do with closures.