Added note on JS hoisting, seems like I also cut trailing spaces