I have no idea how to describe my question .
(function(fn){
    var able=123;
    function tmp(){
        fn()
    };
    tmp();
})(function(){alert(able)});
This snippet throws a Reference Error :able is not defined' .
Would you please explain how javascript get variables to me ?
 
     
     
     
     
    