Javascript.RU

 
 
Опции темы
 
Старый 30.11.2010, 13:49
Новичок на форуме
Отправить личное сообщение для trong Посмотреть профиль Найти все сообщения от trong
 
Регистрация: 25.08.2010
Сообщений: 4

В чем фишка такого кода?
Код google analytics:
<script type="text/javascript">
  var _gaq = _gaq || [];
  //...

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
</script>


Т.е. в коде создается функция и тут же вызывается. Зачем такие закидоны? Почему не написать просто:

<script type="text/javascript">
  var _gaq = _gaq || [];
  //...

    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
</script>
 
Старый 30.11.2010, 13:52
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Про замыкания слышали?
 
Старый 30.11.2010, 13:55
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

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

Конкретно тут речь идет о ga и s
 
Старый 30.11.2010, 13:57
Новичок на форуме
Отправить личное сообщение для trong Посмотреть профиль Найти все сообщения от trong
 
Регистрация: 25.08.2010
Сообщений: 4

Сообщение от monolithed
Про замыкания слышали?
Обязательно. Но вопрос был в другом.
 
Старый 30.11.2010, 13:58
Новичок на форуме
Отправить личное сообщение для trong Посмотреть профиль Найти все сообщения от trong
 
Регистрация: 25.08.2010
Сообщений: 4

Сообщение от Snipe
все переменные останутся локальными и случайно не перезапишут переменные, которые были у пользователя, ставящего скрипт.
Отлично, спасибо!
 
Старый 30.11.2010, 14:07
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от monolithed
Про замыкания слышали?
Сообщение от trong
Обязательно. Но вопрос был в другом.
Сообщение от Snipe
все переменные останутся локальными и случайно не перезапишут переменные, которые были у пользователя, ставящего скрипт.
Например.

Конкретно тут речь идет о ga и s
Сообщение от trong
Отлично, спасибо!
А говорите читали))
 
Старый 30.11.2010, 15:50
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,304

Сообщение от monolithed
А говорите читали))
Ты спросил
Сообщение от monolithed
слышали?
Это не есть "читали"...
 

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скрыть из исходного кода часть javascript кода. javasc Javascript под браузер 10 12.03.2014 09:32
Скрипт вставки BB кода petr0007 Internet Explorer 2 20.02.2013 01:02
Скрипт не работает в FF и опера, но работает в IE(в чем дело???) Cepera Firefox/Mozilla 1 24.08.2012 16:46
Добавление методов к стандартным объектам и совместимость кода Василий Б. Общие вопросы Javascript 10 20.07.2010 12:00
В чем разница? Cognac Events/DOM/Window 3 15.03.2010 16:41


© Илья Кантор, 2007-2021 О проекте - Архив форума - Вверх