두 가지 방법은이 정말 비슷하지만, 전역 변수가 생성되는 방법에는 약간의 차이가 있습니다.
var myFunc = (function(){
//do something
})();
delete window.myFunc; // false
동안 다음 var
문을 사용하여 두 번째 방법에서
가, 전역 객체의 비 삭제 가능한 속성으로
myFunc
변수를 생성합니다, var 문을 명시 적으로 내부
{DontDelete}
속성, 예를 설정 첫 번째는 삭제 될 수 있습니다
(function(){
var myFunc = (function(){
//do something
})();
window.myFunc = myFunc;
})();
//...
delete window.myFunc; // true
당신이 방화범 위를하려고하면
이 모두 삭제 될 수 있습니다, 그게 방화범 콘솔에서 코드 평가 (
eval
)를 사용하기 때문이다.
위의 예 here을 확인할 수 있습니다.
권장 기사 :
출처
2010-03-10 21:57:05
CMS
당신이 원하는 것, 또는 필요의 손에
클리너 코드 결과를 전역 객체에서 무언가를 삭제하려면? –
@Russ : 일반적으로 'null'로 설정하는 것이 일반적입니다. – CMS