Среда, 06 Ноября 2024, 00:13

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
JS код
vaanДата: Воскресенье, 31 Июля 2011, 20:43 | Сообщение # 1
частый гость
Сейчас нет на сайте
Добрый день всем
Помогите пожалуйста разобраться с JS кодом

Обьясните - за что отвечает этот код. Желательно разобрать код как можно подробней

Code
function get_cookie(name)
{
  cookie_name = name + "=";
  cookie_length = document.cookie.length;
  cookie_begin = 0;
  while (cookie_begin < cookie_length)
  {
   value_begin = cookie_begin + cookie_name.length;
   if (document.cookie.substring(cookie_begin, value_begin) == cookie_name)
   {
    var value_end = document.cookie.indexOf (";", value_begin);
    if (value_end == -1) value_end = cookie_length;
    return unescape(document.cookie.substring(value_begin, value_end));
   };
   cookie_begin = document.cookie.indexOf(" ", cookie_begin) + 1;
   if (cookie_begin == 0) break;
  }
  return null;
};
function set_cookie(name, value, expires)
{
  if(!expires) expires = new Date();
  document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString() +  "; path=/";
};
function save_cookie(v, name)
{
  expires = new Date();
  expires.setTime(expires.getTime() + (1000 * 86400 * 365));
  set_cookie(name, v, expires);
};
function OnChange(obj, val, txt)
{
  try
  {
   save_cookie(val, "group");
   var h = document.getElementById('hdn_group');
   if(h) h.value = val;
  }catch(e){};
};
function InitGroup(name)
{
  var gv = get_cookie("group");
  var so = document.getElementById(name);
  var sh = document.getElementById('hdn_group');
  var v;
  try{
   for(var i=0; i<so.options.length; i++)
    if(so.options[i].value == gv)
    {
     so.options[i].selected = true;
     sh.value = gv;
    };
  }catch(e){};
  var a = document.getElementById('play_link');
  if ( a != null )
  {
   a.href = "/toplay.php?group=" + so.options[so.selectedIndex].value;
  }
  Site.SelToDiv(name, {'readonly':true, 'onselect':'OnChange'});
  return true;
};
InitGroup('group');
SellimiusДата: Воскресенье, 31 Июля 2011, 20:48 | Сообщение # 2
участник
Сейчас нет на сайте
js не знаю но тут куки впихивает и создает
cookie_name - имя
cookie_length - длина
vaanДата: Воскресенье, 31 Июля 2011, 20:52 | Сообщение # 3
частый гость
Сейчас нет на сайте
Ну я как бы понимаю, что речь идёт о печеньках(стрелять колотить )
Мне бы хотелось поподробней чтобы мне рассказали о коде
KornivalДата: Пятница, 02 Сентября 2011, 17:13 | Сообщение # 4
The Witcher
Сейчас нет на сайте
Не хочу из-за такого маленького вопроса создавать новую тему. Посоветуйте хороший учебник по JavaScript не ориентированный на новичков в программирование, где не "разжевываются" элементарные понятия и материал изложен максимально кратко и без "воды".
noTformaTДата: Пятница, 02 Сентября 2011, 17:58 | Сообщение # 5
Ukrainian independent game developer
Сейчас нет на сайте
Kornival, http://javascript.ru/ - самый главный ресурс.
и http://javascript.ru/book - библиотека smile


@noTformaT
KornivalДата: Пятница, 02 Сентября 2011, 18:02 | Сообщение # 6
The Witcher
Сейчас нет на сайте
Quote (noTformaT)
http://javascript.ru/book -

не помог biggrin
В сети огромное количество книг по JS, но мне обязательно нужна такая:
Quote (Kornival)
не ориентированный на новичков в программирование, где не "разжевываются" элементарные понятия и материал изложен максимально кратко и без "воды".

Я ведь не могу перебирать все книги, поэтому и прошу помощи у вас.
noTformaTДата: Пятница, 02 Сентября 2011, 18:30 | Сообщение # 7
Ukrainian independent game developer
Сейчас нет на сайте
Kornival,
Quote
Практически, любая книга по JavaScript — это воплощение Зла. В них куча ошибок, бестолковых примеров и плохих советов. Важные особенности языка либо плохо рассмотрены, либо не затрагиваются вовсе. Я прошёлся через десятки книг по JavaScript и могу рекомендовать только одну из них: JavaScript: The Definitive Guide (5th Edition) by David Flanagan. (Уважаемые авторы: Если вы написали хорошую книгу, пожалуйста, вышлите мне копию для ознакомления.)

Дуглас Крокфорд. Один из разработчиков JavaScript.


@noTformaT
serg-kkzДата: Пятница, 02 Сентября 2011, 18:56 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
vaan, если это фрагмент из большого кода, то прокомментировать его трудно. А если кто и прокомментирует я сомневаюсь что это тебе будет интересно и полезно. Достаточно узнать где он использовался что б определить за что отвечает этот код.

KornivalДата: Пятница, 02 Сентября 2011, 19:10 | Сообщение # 9
The Witcher
Сейчас нет на сайте
Quote (noTformaT)
Дуглас Крокфорд. Один из разработчиков JavaScript.

Отлично, пойду куплю мыло и веревку happy
BalloncikДата: Воскресенье, 21 Октября 2012, 07:21 | Сообщение # 10
частый гость
Сейчас нет на сайте
Без ссылки на оригинал трудно узнать значение данного кода.

Сперва создаётся куки и задаются настройки:
function get_cookie(name)
cookie_name = name + "=";
cookie_length = document.cookie.length;
cookie_begin = 0;
while (cookie_begin < cookie_length)

Далее устанавливается значение begin:
value_begin = cookie_begin + cookie_name.length;

Применяеться условный оператор begin = name:
if (document.cookie.substring(cookie_begin, value_begin) == cookie_name)

В куки создаются 3 значения:
function set_cookie(name, value, expires)

Куки сохраняет значения в скобках:
function save_cookie(v, name)

Тут помойму устанавливается время через которое name, v, expires будут перезадоваться:
expires = new Date();
expires.setTime(expires.getTime() + (1000 * 86400 * 365));
set_cookie(name, v, expires);

function OnChange(obj, val, txt)

Сохранение в куки val и group, устанавливается оператор для val:
save_cookie(val, "group");
var h = document.getElementById('hdn_group');
if(h) h.value = val;

В куки формируется group и в документе создаются name и hdn_group, которые имеют "другие названия":
var gv = get_cookie("group");
var so = document.getElementById(name);
var sh = document.getElementById('hdn_group');

Создаётся элемент play_link:
var a = document.getElementById('play_link');

Помойму ссылка на опции или дополнительную информацию:
a.href = "/toplay.php?group=" + so.options[so.selectedIndex].value;

P.S. Если что - js не знаю)


Сообщение отредактировал Balloncik - Воскресенье, 21 Октября 2012, 07:21
KamskiiДата: Воскресенье, 21 Октября 2012, 09:14 | Сообщение # 11
Game ≠ Toy
Сейчас нет на сайте
Kornival, JavaScript Garden. Самый лучший учебник по JS.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг