홈>
이 문제가 발생하는 이유는 매우 혼란 스럽습니다. 기본적으로, 나는 단어/문구 추측 게임을 만들려고 노력하고 있으며 올바른 버튼 문자가 문구의 문자와 일치하면 문자를 발견합니다. 변수 안에 일치하는 (정확한) 문자를 저장하고 해당 문자를 반환해야합니다. 추측 한 문자가 올바른 것이 아닌 경우 null을 반환하는 함수가 필요합니다.
function checkLetter(clickedLetter) {
let letterFound = ""
if (clickedLetter.tagName == "BUTTON"){
clickedLetter.className = "chosen";
clickedLetter.setAttribute("disabled", "true");
const li = document.querySelectorAll("li.letter")
for (let i = 0 ; i < li.length ; i++){
if (clickedLetter.textContent.toLowerCase() == li[i].textContent.toLowerCase()){
li[i].classList = "show";
letterFound = li[i]
//without this return statement, it runs fine
return letterFound
} else {
//without this return statement, it runs fine
return null
}
}
}
}
qwerty.addEventListener("click", (e) => {
const clickedLetter = e.target;
checkLetter(clickedLetter);
});
https://jsfiddle.net/y4q7ot68/1/ 다음은 return 문이 주석 처리되어 작동하는 jfiddle 데모입니다. 당신이 반환 진술을 주석 해제하면, 그것은 모두 엉뚱하고 문자 및/또는 모든 문자를 발견하지 않습니다. 내가 뭘 잘못하고 있니?
- 답변 # 1
관련 자료
- return 문이 파이썬에서 함수 본문의 일부입니까?
- swift - 함수 내에서 if let 문에서 값을 반환하는 방법은 무엇입니까?
- android - Int를 반환하는 함수가 if 문의 일부가 될 수있는 방법은 무엇입니까?
- vb.net - 합계를 얻기 위해 함수에 항목 추가
- c++ - 하위 시퀀스가 시작되는 첫 번째 반복자를 반환하는 STD 함수
- r - 함수 내부의 if 문에서 NULL 출력을 억제합니다
- ruby on rails - 코쿤으로 필드를 추가 한 후 자바 스크립트 기능 실행
- python - return 문없이 for 루프에서 데이터 반환
- sqlalchemy - 돌아온 다음 파이썬에서 다른 함수가 끝날 때까지 기다립니다
- arrays - PHP 함수에서 한 번에 둘 이상의 값을 반환하는 방법
- recursion - 문자열을 반환하기 위해 Swift에서 재귀 함수를 어떻게 빌드 할 수 있습니까?
- vhdl - 함수에서 제한되지 않은 2D 배열로 레코드를 반환하는 방법
- 자바 스크립트를 통해 요소에 함수 추가
- sql server - 새 Join 문을 추가 한 후 MS-SQL 저장 프로 시저에서 오류가 발생합니다 메시지 102, 수준 15, 상태 1, 줄 279 'WHERE'근처의 잘못된 구문
- javascript - 부울 값 배열 대신 부울 값 1 개를 반환하는 매핑 함수
- javascript - react Native의 userEffect에서 비동기 함수를 반환하는 정리 함수를 반환합니다
- python - 함수가 호출되면 "If"문이 무시됩니다
- list - 왜 pop () 함수가 파이썬의 함수 내부에서 값을 반환하지 않습니까?
- promise - Nodejs 함수 비동기 반환 대기하지 않음
- php - Laravel이 if 문 내부에서 함수를 호출하지 않음
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- JavaScript 변수를 HTML div에 '출력'하는 방법
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- python - 화면에서 찾은 요소를 찾을 수없는 경우 셀레늄
엉뚱한 행동을하는 이유는 for 루프에 있고 여러 번 리턴하기 때문입니다. 첫 번째 리턴 후에는 함수가 종료됩니다. 리턴 기능을 유지하려면 for 루프에서 리턴을 삭제하고 var를 작성하고 처음부터 찾은 경우 false로 설정하고 for 루프 외부에서 if 명령문과 비교하여 리턴 명령문을 가질 수있는 경우이를 비교하십시오.
또한이 함수를 호출 한 곳에서 다음을 잊지 마십시오 :