다른 사람들은 설명했다 undefined
. undefined
모든 값으로 재정의 할 수있는 전역 변수와 같습니다. 이 기술은 누군가가 누군가 undefined = 10
어딘가에 썼다면 정의되지 않은 모든 검사가 중단되는 것을 방지하는 것 입니다. 전달되지 않은 인수 undefined
는 변수 의 값에 관계없이 실제 값 이어야 합니다undefined
.
창을 통과 한 이유는 다음 예에서 설명 할 수 있습니다.
(function() {
console.log(window);
...
...
...
var window = 10;
})();
콘솔 로그는 무엇입니까? window
객체 의 가치가 맞습니까? 잘못된! 10? 잘못된! 기록 undefined
합니다. Javascript 인터프리터 (또는 JIT 컴파일러)는 다음과 같이 다시 작성합니다.
(function() {
var window; //and every other var in this function
console.log(window);
...
...
...
window = 10;
})();
그러나 window
변수를 인수로 사용하면 var가 없으므로 놀라움이 없습니다.
jQuery가 그것을하고 있는지 모르겠지만 window
어떤 이유로 든 함수의 어느 곳에서나 지역 변수를 재정의하는 경우 전역 범위에서 빌려주는 것이 좋습니다.