2013-08-26 6 views

답변

1

옙 "if/then 구문을 만들 때 도움이 될 수 있습니까?" undefined의 값은 false입니다. 여전히 오래된 브라우저에서 오류를 제공 할 수 있습니다 선언하지 거짓

var myVar; 

을 : 그래서 : 자사하지 거짓

경우는 true 값을 가지고 있지만 최선을 다한다면

if (myVar) 

의미

이미 글로벌 "var i;"가있는 경우 확실하지 않습니다. 루프에서 하나를 사용해보십시오, 나는 그것이 당신이 새로운 것의 글로벌 "i"를 잃어 버릴 것이라고 생각합니다.

+0

'정의되지 않은 값은 false입니다 .'; _undefined_는 위증이지만 'undefined! == false' –

+0

@PaulS입니다. 사실 (웃음)하지만 여전히 "if (undeclaredVariable)" –

3

왜 신고하지 말까요? foo"use strict" 모드에있는 경우

function foo() { 
    var i = 0; // local variable 
    j = 1;  // global variable 
} 
foo(); 
i; // undefined 
j; // 1 
function bar() { 
    var k; // local variable 
    k = 2; // still local 
} 
bar(); 
k; // undefined 

, 그것은 j에 대한 var 없었기 때문에, 범위 체인을 높은 정의 된 ReferenceError: j is not definedj 다른 않는 원인이됩니다.

+0

까지 제가 전역 변수를 선언 할 수 없다는 것을 알고 ** ** ** 함수 및 "j = 1;" (오류가 아닐 경우) 로컬 변수가 될 것입니다 –

+0

@tryingToGetProgrammingStraight 믿을 수 없다면 여기에 게시 한 코드를 시도한 다음 글로벌'j'가 있는지 확인하고 다시보고하십시오. -) 나는 나의 예 에서처럼 _function_의 바깥쪽에있는 'j;'가 충분한 증거라고 생각한다. –

+0

범위 안에 'var j'가 더 높지만 전역 적으로는 없으면'j'가 반드시 전역 적으로 될 필요는 없습니다. –

관련 문제