2012-10-05 2 views
-1

많은 사이트에서 함수와 개체는 값을 반환합니다. return은 왜 중요한가요?왜 자바 스크립트의 리턴이 유용합니까?

Slider.prototype.setCurrent = function(dir) { 

    var pos = this.current; 

    pos += (~~(dir === 'next') || -1); 
    this.current = (pos < 0) ? this.imgsLen - 1 : pos % this.imgsLen; 

    return pos; 
} 

위 예제에서 this.current을 반환하지 않으시겠습니까?

+0

pos 변수가 수정되는 항목이기 때문에. this.current를 반환하면 함수 루틴이 호출되거나 입력되기 전의 값을 반환합니다. – Tommy

+0

둘은 의미 상 동일하지 않기 때문입니다. –

답변

2

this.currentpos이 설정된 이후에 수정되어 this.current

this.current = (pos < 0) ? this.imgsLen - 1 : pos % this.imgsLen; 

pos 저장 이전 값이므로 동일한 결과를 산출하지 않을 this.current 대신 pos로 복귀.

+1

'pos'는'pos + = (~~ (dir === 'next') || -1);'에 의해 설정 된 후에 (가능하면) 수정되기 때문에 반환 될 때 이전 값보다 다른 값을 가질 수 있습니다 'this.current'의 값입니다. – RobG

+0

감사합니다 남자는 지금 내가 본다. –