JavaScript call, apply, and bind Explained | DevPrep