Палсеич— (lusever) wrote,
Палсеич—
lusever

Category:

JavaScript функция проверки замусоривания

Переменные постоянно рвутся к глобальной области видимости. Особенно жуткими бывают всякие i и j, которые не понятно как искать.

Для периодического отстрела, написал функцию window_diff. Она запоминает состояние объекта window: до и после вызова функции, и выдает разницу.

<script type="text/javascript">
    function window_diff()
    {
         var ary = arguments.callee.ary, i, new_ary = [];
         if (ary) {
              for (i in window) {
                   if (!~ary.indexOf(i)) {
                        new_ary.push(i);
                   }
              }
              console.log('window_diff', new_ary);
              arguments.callee.ary = null;
              return ary;
         }
         ary = [];
         for (i in window) {
              ary.push(i);
         }
         return arguments.callee.ary = ary;
    }

    window_diff();
</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
    window_diff();
</script>

Интересно, а можно переписать этот код сеттерами? Тогда можно следить, кто мусорит во время жизни страницы.

Не стоит забывать, что JSLint умеет подсказывать, какие глобальные переменные мы наобъявляли. Иногда проще скормить код ему.

А может это умеют делать еще какие-то инструменты?

Tags: javascript
Subscribe

  • АфРаСуп

    С ноября работаю в объединенной компании. Меня позвали делать штуку, которую я бы и так хотел делать, но не хватало на нее времени. Теперь буду…

  • Островок.ру

    Уже как неделю работаю в островке разработчиком интерфейсов. Там Git, релизы каждый день, четкое намерение собирать отличную команду…

  • </SUP>

    Сегодня мой последний рабочий день в СУПе. За прошедшие три с половиной года я сделал на яваскрипте много всего. Из важных для меня это jotsky,…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 3 comments