2013-11-27 1 views
0

다음 코드에 무엇이 누락 되었습니까?Codecademy의 논리 연산자 연습 : 벽에 충돌하십시오.

나는 변이를 시도해 왔으며 더 나은 아이디어가 부족하여 비논리적 인 수정을 시도하고있다. 문제가 함수 구문에 있습니까? 내가 변수가 글로벌하다는 것을 이해하고, 둘 다 TRUE로 읽어야한다. 함수를 구조화하는 방법에 따라 TRUE와 FALSE 또는 FALSE를 읽을 수 있지만 Logical Operator 구문을 올바르게 이해하면 두 변수가 모두 참일 때 하나의 결과 만 true로 출력되어야합니다. 내가 사실로 설정 한대로 따라서, 나는 조금 판독이 False지고 왜 신비화 해요 [여기 이미지 설명을 입력합니다] [1]

// Declare your variables here! 
var foodHere=true; 
var hungry=true; 

var eat = function() 
{ 
if (hungry&&foodHere) 
{ 
     console.log ("True."); 
} 
else 
{ 
     console.log("False."); 
    } 
}; 

// 오류 메시지를 읽습니다.! 그것은 당신의 기능처럼 보인다 배고픔이 거짓이면 거짓을 반환하지 않습니다.

이미지를 게시하고 싶지만 내 평판은 부족합니다.

+0

'console.log ('false');를'return false'로 바꾼다 – vonUbisch

+1

'배고픈 것이 거짓이면 함수가 false를 반환하지 않는 것처럼 보입니다 .'; 귀하의 기능은 *** 아무것도 반환하지 않습니다 ***. return 문을 추가하십시오. 예 : 코드의 오른쪽에'return false;'또는'true true;를 반환합니다. – Matt

답변

2

CodeAcademy는 return을 부울 값으로 설정하려고하지만 "True"또는 "False"문자열 만 콘솔에 기록합니다.

var eat = function(){ 
    return (hungry && foodHere); 
} 

또는 귀하의 경우 : 같은으로 변경

var eat = function() 
{ 
    if (hungry&&foodHere) 
    { 
      return true; 
    } 
    else 
    { 
      return false; 
    } 
}; 

this JSFiddle example를 참조하십시오.