Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Неясен момент в коде (https://javascript.ru/forum/css-html-internet-explorer/11203-neyasen-moment-v-kode.html)

B@rmaley.e><e 13.08.2010 18:54

Цитата:

Сообщение от maxbarbul
typeof null === "object"

var t = null;
t.property = 5;
alert(t.property);
Про typeof забудьте, он врет.

maxbarbul 16.08.2010 12:40

Ок, согласен, действительно спецификация указывает простые типы, в их числе - Null
Просветили :)

Простите за оффтоп, но как же тогда бороться, например с проверкой строк:
s1 = "123string123"
s2 = new String("123string123")

alert(typeof s1) // string
alert(typeof s2) // object

Kolyaj 16.08.2010 15:12

Цитата:

Сообщение от maxbarbul
но как же тогда бороться, например с проверкой строк:

Бороться-то зачем?
function isString(v) {
    return {}.toString.call(v) == '[object String]';
}

Если уж сильно надо объекты String определять.

Golovastik 16.08.2010 18:24

Вот упрощённый код:
Код:

<html>
<head><title>Document</title>
<script type='text/javascript'>
var a,timeoutik;

function f1(){
if(timeoutik){
clearTimeout(timeoutik);
timeoutik = 0;
};
if(!a) a = document.getElementById('tik_tak');
a.style.display = 'block';
};

/*_____________________________________________________________*/

function f2(){
if(timeoutik){
clearTimeout(timeoutik);
timeoutik = 0;
};

timeoutik = setTimeout(function(){
if(!a) a = document.getElementById('tik_tak');
a.style.display = 'none';
},2000);

};
</script>

</head>
<body>
<a href='page.html' onMouseOver='f1()' onMouseOut='f2()'>Жми на меня</a>
<div id="tik_tak" style="display:none;
position:absolute; left:10px; top:35px;">
<img src='1.gif' alt='фотка'></div>

</body>
</html>

1)А почему обработчик событий onMouseOut='bounty_hide()'>
засовывается в онлоад,то есть когда пользователь увёл мышку от текста?

2)Как может в этой функции

Код:

function bounty_show() {
        if (bounty_hide_timeout) {
                clearTimeout(bounty_hide_timeout);
                bounty_hide_timeout = 0;
        };
        if (!bounty_obj) bounty_obj = document.getElementById('hint');
        bounty_obj.style.display = 'block';
};

происходит проверка if (bounty_hide_timeout) { на то, содержит ли переменная bounty_hide_timeout что нибудь, если bounty_hide_timeout получает своё значение в теле совсем другой функции,которая находится ниже?

3)clearTimeout(timeoutik); Без этой строки также работает, значит можно её убрать просто написав
timeoutik = 0; ?


Часовой пояс GMT +3, время: 11:49.