http://blog.codingplayboy.com/index.php/2016/01/18/js_closure/