Неясен момент в коде
Есть код:
Код:
<html><head> В функции bounty_show() Там делается сравнение Код:
if (bounty_hide.T) { Это значит доступ через мою созданную функцию с именем bounty_hide к какой-то другой переменной находящейся в другой функции что ли? Меня смущает .Т, почему она может ещё и добавлятся к названию любой функции где угодно? |
Через точку идет обращение к свойствам объектов (object.property). А в JS все - объект (кроме разве что null'а).
|
Идёт обращение к свойству метода bounty_hide.?
А что это за такое свойтсво с именем .Т и где оно определено? |
Вот тут определено
bounty_hide.T = setTimeout(… Это идентификатор таймаута (вызова кода через определенное время), чтобы потом его можно было очистить. |
Что означает вот это если что:
if (bounty_hide.T) { ???? |
Если таймаут установлен
|
То есть если свойство с именем Т которое получило значение от анонимной функции, то есть если оно его получило,которая что-то возвратила не равна нулю, а чему-то равна? Вот это имеется ввиду в этом месте?
if (bounty_hide.T) { 2)Как можно обращаться к свойству Т, если оно определено ниже, а сравнение идёт выше, использование свойства с именем Т, объекта bounty_hide |
Цитата:
|
Ответьте пож. на 7-ой пост. Заранее благодарю.
|
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" |
Цитата:
var t = null; t.property = 5; alert(t.property);Про typeof забудьте, он врет. |
Ок, согласен, действительно спецификация указывает простые типы, в их числе - Null
Просветили :) Простите за оффтоп, но как же тогда бороться, например с проверкой строк: s1 = "123string123" s2 = new String("123string123") alert(typeof s1) // string alert(typeof s2) // object |
Цитата:
function isString(v) { return {}.toString.call(v) == '[object String]'; } Если уж сильно надо объекты String определять. |
Вот упрощённый код:
Код:
<html> засовывается в онлоад,то есть когда пользователь увёл мышку от текста? 2)Как может в этой функции Код:
function bounty_show() { 3)clearTimeout(timeoutik); Без этой строки также работает, значит можно её убрать просто написав timeoutik = 0; ? |
Часовой пояс GMT +3, время: 03:34. |