2012-11-28 1 views
0

를 전달되지 않은 경우에도 마찬가지입니다. 어떤 경우에는 tracking 변수가 부울 값으로 설정되고 어떤 경우에는 그렇지 않습니다.자바 스크립트 부울 변수는 아무것도 절하면 내가 다음 한

변수의 유형을 조회하면 (값을 전달하지 않은 경우) 단순한 Object입니다.

내 질문이 지금 기능에 아무것도 전달하지 않으면 추적 변수가 부울 (값이 참)으로 해석되는 이유는 무엇입니까?

+3

당신은이 함수에 언급 된 몇 가지 이상한 자바 스크립트 실행 환경을

2) 우리가 재현 할 수 있도록 함수가있는 코드를 게시 하시겠습니까? –

+1

아무 것도 전달하지 않으면 값은 '정의되지 않음'이됩니다. 그렇지 않다면, 당신은 뭔가를 지나가고 있습니다. – Yoshi

+2

* "변수의 유형을 조회하면 (값을 전달하지 않은 경우) 단순한 객체입니다."* : 객체 인 경우 true-ish입니다. –

답변

2

전체 코드 (메서드 호출)를 붙여 넣을 수 있습니까? 저는 IE9, FF14, Chrome 23에서 코드를 시도해 보았습니다. statenenet이 실행되지 않으면 코드가 작성되고 typeof b는 메소드 호출에 대해 각각 정의되지 않은 객체와 객체로 평가됩니다.

function f(a,b){ 
console.log("Type of b is " + typeof b); 
if(a && b){ 
    console.log(a); 
    console.log(typeof a); 
    console.log(b); 
    console.log(typeof b); 
} 
} 
f(true); 
f(true,null); 

나는 두 가지 가능한 원인

1

) 당신은 함수에 전달 뭔가를 볼 당신은 당신이 할 수있는,

+0

추적을위한 매개 변수를 전달하지 않으면 유형이 jQuery.Event (또는 무언가) 인 것 같습니다. 따라서 NOT NULL == true이면 문제가 해결됩니다. 나는 JavaScript 전문가가 아니다.) – mhmpl

관련 문제