Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.08.2010, 17:17
Аватар для Golovastik
Профессор
Отправить личное сообщение для Golovastik Посмотреть профиль Найти все сообщения от Golovastik
 
Регистрация: 12.08.2010
Сообщений: 221

Неясен момент в коде
Есть код:
Код:
<html><head>
<title>Тренировочный документ</title>
<script type='text/javascript'>

var bounty_obj;
window.onload = function () {
bounty_obj = document.getElementById('hint');
};

function bounty_show() {
    if (bounty_hide.T) {
        clearTimeout(bounty_hide.T);
        bounty_hide.T = 0;
    };
    bounty_obj.style.display = 'block';
};

function bounty_hide() {
    if (bounty_hide.T) {
        clearTimeout(bounty_hide.T);
        bounty_hide.T = 0;
    };

    bounty_hide.T = setTimeout(function(){
        bounty_obj.style.display = 'none';
        bounty_hide.T = 0;
    }, 1000);
};

</script>
</head>
<body>

<a href='page.html' onMouseOver='bounty_show()' onMouseOut='bounty_hide()'>Переход в будующее</a>
<div id="hint" style="display:none; position:absolute; left:10px; top:35px;"><img src='1.gif' alt=''></div>
Когда-то в студенную зимнюю пору,<br> я из лесу вышел, был сильный мороз,
Гляжу,поднимается <br> высоко в гору, кто? Лошадка несущая хворосту воз

</body>
</html>
По поводу кода:
В функции bounty_show()
Там делается сравнение
Код:
if (bounty_hide.T) {
clearTimeout(bounty_hide.T);
bounty_hide.T = 0;
Что будет означать вот это с точкой bounty_hide.T в сравнении?
Это значит доступ через мою созданную функцию с именем bounty_hide к какой-то другой переменной находящейся в другой функции что ли?
Меня смущает .Т, почему она может ещё и добавлятся к названию любой функции где угодно?
Ответить с цитированием
  #2 (permalink)  
Старый 12.08.2010, 19:20
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Через точку идет обращение к свойствам объектов (object.property). А в JS все - объект (кроме разве что null'а).
Ответить с цитированием
  #3 (permalink)  
Старый 12.08.2010, 19:26
Аватар для Golovastik
Профессор
Отправить личное сообщение для Golovastik Посмотреть профиль Найти все сообщения от Golovastik
 
Регистрация: 12.08.2010
Сообщений: 221

Идёт обращение к свойству метода bounty_hide.?
А что это за такое свойтсво с именем .Т и где оно определено?
Ответить с цитированием
  #4 (permalink)  
Старый 12.08.2010, 19:29
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Вот тут определено
bounty_hide.T = setTimeout(…
Это идентификатор таймаута (вызова кода через определенное время), чтобы потом его можно было очистить.
Ответить с цитированием
  #5 (permalink)  
Старый 12.08.2010, 19:31
Аватар для Golovastik
Профессор
Отправить личное сообщение для Golovastik Посмотреть профиль Найти все сообщения от Golovastik
 
Регистрация: 12.08.2010
Сообщений: 221

Что означает вот это если что:

if (bounty_hide.T) { ????
Ответить с цитированием
  #6 (permalink)  
Старый 12.08.2010, 19:36
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Если таймаут установлен
Ответить с цитированием
  #7 (permalink)  
Старый 12.08.2010, 19:47
Аватар для Golovastik
Профессор
Отправить личное сообщение для Golovastik Посмотреть профиль Найти все сообщения от Golovastik
 
Регистрация: 12.08.2010
Сообщений: 221

То есть если свойство с именем Т которое получило значение от анонимной функции, то есть если оно его получило,которая что-то возвратила не равна нулю, а чему-то равна? Вот это имеется ввиду в этом месте?
if (bounty_hide.T) {

2)Как можно обращаться к свойству Т, если оно определено ниже, а сравнение идёт выше, использование свойства с именем Т, объекта bounty_hide
Ответить с цитированием
  #8 (permalink)  
Старый 12.08.2010, 22:37
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от B@rmaley.e><e
А в JS все - объект
Да не всё, не всё.
Ответить с цитированием
  #9 (permalink)  
Старый 13.08.2010, 17:22
Аватар для Golovastik
Профессор
Отправить личное сообщение для Golovastik Посмотреть профиль Найти все сообщения от Golovastik
 
Регистрация: 12.08.2010
Сообщений: 221

Ответьте пож. на 7-ой пост. Заранее благодарю.
Ответить с цитированием
  #10 (permalink)  
Старый 13.08.2010, 18:47
Новичок на форуме
Отправить личное сообщение для maxbarbul Посмотреть профиль Найти все сообщения от maxbarbul
 
Регистрация: 11.02.2009
Сообщений: 3

2Golovastik:
bounty_hide - глобальный объект функция (функция - это, грубо говоря, наследник-расширение Object);
bounty_hide.T - создается при первом вызове функции bounty_hide;

Конструкция if (bounty_hide.T) не сработает (и не выдаст ошибку), поскольку неинициализированное свойство bounty_hide.T == undefined

К нему можно обращаться, его даже можно передать в функцию:
var a = 10

function dd(f)
{
    if (f)
        alert(1)
    else
        alert(0)
}

dd(a.s)


2 B@rmaley.e><e:

typeof null === "object"
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск текста в исходном коде Avalanche Firefox/Mozilla 6 09.07.2010 18:31
Поиск слова в исходном коде html страницы klsorat2010 Ваши сайты и скрипты 1 20.05.2010 23:46
xss в коде картинки slupi Общие вопросы Javascript 11 27.01.2010 15:00
Как определить находится ли пользователь в данный момент на сайте? PAMAC Общие вопросы Javascript 19 11.10.2009 15:05
То-ли лыжи не едут, толи... возможно ошибка в коде. AzriMan Общие вопросы Javascript 19 18.05.2009 16:07