a summary on the javascript closure