Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 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>
Ответить с цитированием
  #2 (permalink)  
Старый 30.11.2010, 13:52
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

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

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

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

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

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

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

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

Сообщение от 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