stackoverflow보고 코드 해석 해보고있는데 뭐가틀린걸까요?

stackoverflow보고 코드 해석 해보고있는데 뭐가틀린걸까요?

QA

stackoverflow보고 코드 해석 해보고있는데 뭐가틀린걸까요?

답변 1

본문

var getTimeout = function(){
    var e=setTimeout,
        b={};
    setTimeout=function(a,c){
            var d=e(a,c);
            b[d]=[Date.now(),c];
            return d
    };
    return function(a){
        return(a=b[a])?Math.max(a[1]-Date.now()+a[0],0):NaN
    }
 }();

 

원본 코드

 

나름의 머리로 해석한 코드

var getTimeout = function(){
    var setTimes = setTimeout,
    mapArray = {} // 빈 객체
    setTimeout(function(callback,delay){
    var id = setTimes(callback, delay);
    mapArray[id] = [Date.now(),delay];
    return id
   })
   
   return function(callback){
    return (callback=mapArray[callback]) ? Math.max(callback[1]-Date.now()+callback[0],0) : NaN
    }
   }
   
   function init(){
    getTimeout()
   }
   
   init()

   혹시 둘 차이를 좀 상세하게 알려 주실 분 계신가요?ㅠ

이 질문에 댓글 쓰기 :

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 66
© SIRSOFT
현재 페이지 제일 처음으로