특정 시간에 특정 함수/변수 만 window
의 명시적인 속성으로 표시하려고합니다.
(function() {
var jQuery = function(selector) { alert(selector) }
})();
jQuery // not defined
우리는 그것이로 변경하는 경우 :
(function() {
var jQuery = function(selector) { alert(selector) }
window.jQuery = jQuery;
})();
은 우리가 명시 적으로 개인 공간으로부터 "노출".
그렇습니다. 과 같은 메소드를 호출하기 위해 명시 적으로 window.
을 선언 할 필요는 없지만 모든 사람은 자신 만의 코딩 스타일을 가지고 있으며 누구나 자신의 진술이 얼마나 명시해야하는지 자신의 정도를가집니다.
어떤 사람들은 혼란을 피하기 위해 alert
과 같은 전역 메서드에 window.
을 명시 적으로 접두사로 붙입니다. ...의 당신은 예를 들어, alert
선정됐다 개인 네임 스페이스에서 함수를 정의한다고 가정 해 봅시다
(function() {
function alert() {}
alert('lol'); // does nothing
window.alert('lol') // does something
})();
우리가 정확히 같은과 기능을 정의하기 때문에 우리는 우리의 경고를해야 할 그 개인 공간의 내부 alert
을 사용할 수 없습니다 이름. 이 문제를 해결하려면 명시 적으로 window.alert
메서드를 참조해야합니다.
그러나 일반적으로 개인 네임 스페이스의 내용을 전역 네임 스페이스에 노출시키지 않는 한 window.
으로 접두어를 붙이지 않아도됩니다. 따라서 코드에있는 document
과 alert
등을 사용하십시오.