2014-06-12 2 views
1

console.logempty을 반환하지만 내 if 문이 실행되지 않는다는 것을 알고 있더라도 if 문의 조건이 true가 아닙니다.<SOLVED> JavaScript :

console.log(arr[x/100+1][y/100-1]); 
if(arr[x/100+1][y/100-1]=="empty") 
{ 
    alert("Yes"); 
    arr[x/100+1][y/100-1]=="outlined"; 
    c.strokeRect(x+100,y-100,100,100); 
} 

편집 : 이것을 무시하고 다른 곳에서 어리석은 실수를 저 지르 죠. 모두에게 감사드립니다.

+0

, 그것은'empty' 또는 말하는가 콘솔에서'' "빈"? – Markasoftware

+0

'console.log (typeof arr [x/100 + 1] [y/100-1])'을 시도해보고 여기에 결과를 게시하십시오. – Oriol

+0

호기심에서 벗어나'(arr [x/100 + 1] [y/100-1]). 길이는 무엇입니까? – plalx

답변

1

때로는 로깅이 thruth에 충실하지 않습니다. 그것은 드문 일이지만 전에 나에게 일어난 일이다. 디버깅을 위해 console.log을 사용하는 대신 debugger; 문을 if 문 바로 앞에 올리십시오. 이는 브레이크 포인트를 설정하는 것과 같습니다. 그러면 브라우저의 디버깅 도구가 시작됩니다. 그런 다음 여러 표현식의 값을 검사하고 코드 구문을 단계별로 실행하는 시계를 넣을 수 있습니다.

arr[x/100+1][y/100-1] 정말 를 기록하고 그렇지 않은 콘솔 문제, 아마도 문자열 값 "empty" 일치하는 것을 방지 할 인쇄 할 수없는 문자 나 공백이 포함되어 있다면.

예.

을 console.log에
var empty = "empty\u200B"; //could also be trailing spaces 
console.log(empty); //empty 
empty == "empty"; //false 
empty.length; //6, that's one way of finding out