2017-12-25 44 views
0

변수 인 p1Score가 숫자이고 범위가 p1ScoreDisplay입니다. 이 제대로 작동이벤트 리스너의 익명 함수와 이벤트 리스너의 익명 함수 비교

p1.addEventListener("click", function() 
{ 
p1Score++; 
p1ScoreDisplay.textContent = p1Score; 
}); 

그러나, 나는이 기능은 익명 만들고 싶어하지 않습니다 내가 사용 범위를 점수로 클릭 할 때마다 1을 추가하고 업데이트하는 이벤트 리스너를했다. 나는 별도의 기능을 생성과 같이 함수에 간다 익명 함수 제작 :

function addPoint(score, scoreDisplay) 
{ 
score++; 
scoreDisplay.textContent = score; 
} 

p1.addEventListener("click", function(){addPoint(p1Score,p1ScoreDisplay);}); 

이 버전은 한 번 이벤트를 예비 적 다른 하나는 때마다 발생하면서 내가 왜 확실하지 않다을?

+0

실제로 두 가지 접근 방식을 비교합니다. 하나는 전역 변수이고 다른 하나는 양수 된 원시 및 객체입니다. 두 개의 객체를 사용하면 객체를 사용하여 속성을 증가시키고 다른 이벤트에서도 사용할 수 있습니다. –

답변

1

첫 번째 예에서는 p1Score의 값을 증가시킵니다. 다음 번 클릭하면 다시 클릭됩니다.

두 번째 예에서는 p1Score의 값을 score으로 복사 한 다음 score의 값을 증가시킵니다. 다음 클릭은 값이 원래 p1Score에서 score으로 변경되고 다시 증가합니다.