2011-12-28 3 views
0

Согласно IE Debugger мой статической переменнойКак определить, была ли использована статическая переменная?

link_update.previous_element 

устанавливается на неопределенное, в первый раз с помощью функции.

Однако, когда я добавляю тест для неопределенного или «неопределенного» в скобки, он не выбирает его правильно, как показано в приведенном ниже коде.

Как определить первое использование статической переменной?

function link_update(link_display) 
{ 
    current_element = document.getElementById(link_display) 
    current_element.style.opacity = 1; 
    if(link_update.previous_element != undefined) 
    { 
     link_update.previous_element.style.opacity = 0; 
    } 
    link_update.previous_element = current_element; 
} 

ответ

2

Использование typeof:

if(typeof link_update.previous_element != 'undefined') 

Вы можете также хотел, чтобы удалить точку с запятой.

+3

Я думаю, что проблема с точкой с запятой является проблемой, проверка на '=== undefined' совершенно правильна и поскольку он использует член объекта, он будет работать (' something_undefined === undefined' будет выходить из-под контроля из-за доступа к неопределенной переменной , но доступ к члену неопределенного объекта разрешен) – ThiefMaster

Смежные вопросы