Показать сообщение отдельно
  #3 (permalink)  
Старый 24.08.2010, 02:25
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

читайте справку от истоков
Если вкратце, то при операции сравнения(первая ваша строчка), оба операнда приводятся к числу, и равны оба нулю
в условии же массив приводится к булевому, и становится истиной согласно правилам приведения типа

в таком же варианте, сравнение уже false, так как массив приводится не к нулю, а единице, хотя он также истинен самостоятельно
alert([1] == false); 
alert([1] == 1); 
if ([1]) 
    alert(true);
Ответить с цитированием