This page demonstrates code with 3 different contexts. It produces an error because a nested function that is not available in the global context is executed from the global context.
Here is the code:
var sport = "baseball"; var player = null; function getPlayer() { if (sport === "baseball") { player = "Evan Longoria"; } else { player = "Eva Longoria"; } function getPlayer2() { if (player === "Evan Longoria") { player2 = "Derek Jeter"; } else { player2 = "Teri Hatcher"; } return player2; } return getPlayer2(); } alert(getPlayer()); alert(getPlayer2());