Вы можете написать свой JS, чтобы использовать только частные методы и переменные в самореализующейся функции.Например, следующий код не оставляет никаких признаков сам по себе в глобальном пространстве имен для тех, с кем можно пообщаться.
(function(){
var x = 1;
var y = 2;
var z = "A am z";
var clickHandler = function() {
alert('You clicked the body');
};
document.getElementsByTagName('body')[0].addEventListener('click',clickHandler,true);
}());
[РЕДАКТИРОВАТЬ] Приведенный выше код восприимчив к пользователю, перезаписывающему любые глобально доступные объекты, методы, события или свойства, которые вы используете (в данном случае, document
, getElementsByTagName
иaddEventListener
), поэтому, если вы действительно параноик, вы можете скопировать их в область своих функций до того, как страница загрузится, и пользователь сможет перезаписать их.Использование addEventListener
- хорошая идея, поскольку в отличие от события body.onclick
его нельзя удалить или перезаписать извне функции.