Javascript self-invoking functions explained line by line | Dark Hacker News