2012-04-07 6 views
0

먼저 내가 실제로 검색을 시작했고 매우 비슷한 질문이 있었지만 충분히 혼란스러워서 혼란스러워했습니다.함수를 매개 변수로 사용하는 경우

면책 조항 : 숙제를 위해 바위 종이 가위 게임을 만들고 적절한 자바 스크립트 기능/매개 변수 전달에 관한 간단한 질문이 있습니다.

상대방의 (컴퓨터) 선택 항목으로 임의의 "바위 또는 종이 또는 가위"값을 반환하는 opponentRandom() 함수가 있습니다.

다른 값은 (상대방 문서에서 "onclick"에 의해 결정된) 값과 opponentRandom() 함수의 값을 비교하는 compareChoices()입니다.

<td onclick="comparisonChoices('paper', 'opponentRandomizer()**;**');"> 
    <img src="paper.jpg" alt="paper" /> 
</td> 

을 이제 다음과 같이

이제, 게임, 테이블 데이터 중 하나를있는 표 안에 (들 당신에게 일을하도록되어 어떻게 사진 중 하나를 클릭하는 예를 제공하기 위해)입니다 , 비교의 첫 번째 매개 변수는 당신이 선택한 것으로 가정하고 난 그저 난수 결과가 compareChoices 함수 내부에서 고려 될 것이기 때문에 td onclick 내부의 compareChoices 함수 안에서 opponentRandom 함수를 쉽게 호출 할 수 있다면 정말 좋겠다. .

이 방법이 효과가 있습니까? 다른 함수로 매개 변수로 함수를 던질 수 있습니까? opponentRandom 함수는 실제로 바위, 종이, 가위 값 및 비교 함수 중 하나를 반환 한 다음 원, 분실 또는 묶음을 결정합니다. 나는 적절한 구문을 모르거나 내가 이것을 할 수 있다면, 아직 자바 스크립트를 내 HTML에 통합하지 않았고, 게임에 필요한 모든 기능을 갖추기 전까지 구현하기 쉬운 방법을 모른다. 달리기.

TL - 다른 함수의 값을 onclick = "function (param, 'function()');)으로 반환하는 함수를 넣을 수 있습니까? ?

또한 굵게 표시된 세미콜론을 사용해야합니까? (편집 : ** **는 굵은 글씨로 표시되지 않는,하지만 난 ** **로 둘러싸인 세미콜론에 대해 이야기하고있다)

+2

예 내부 함수의 반환을 매개 변수로 외부 함수에 전달하는 함수 호출 매개 변수에는 함수를 넣을 수 있지만 따옴표는 제거해야합니다. 이것을 인용하면 함수 호출이 아닌 리터럴 문자열'opponentRandomizer()'를 전달하게됩니다. 그리고'; '를 제거하십시오. –

+1

'comparisonChoices ('paper', opponentRandomizer())' –

+2

JavaScript는 매우 유연한 언어로, ('() '없이) 함수 참조를 전달할 수 있지만 실제로는 그렇지 않습니다. –

답변

2

무슨 문제 :

function comparisonChoices(selection) { 
    other_selection = opponentRandomizer(); 
    etc.... 
} 

?

+0

아, 아주 사실입니다. 생각하지 않았어. 매개 변수를 전달하는 것과 내가 한 일을 수행함으로써 내가하는 일에 어떤 단점이 있습니까? 그냥 궁금해서. –

+1

이 메서드는 opponentrandomizer() 만 호출합니다. 함수 내에 내장되어 있기 때문입니다.매개 변수로 전달하면 잠재적으로 여러 가지 다른 임의 함수를 가질 수 있으며 함수 호출을 수행 할 때 사용할 임의의 함수를 선택할 수 있습니다. –

관련 문제