Чтения через некоторые JavaScript от хостинга компании электронной коммерции и наткнулся на это:Зачем проверять char на один и тот же символ?
function add_wishlist()
{
if ('1' == '1') // <-- What is this?
{
window.open('addtowishlist.asp?itemid=137','popup','height=300,width=550,location=no,scrollbars=no,menubars=no,toolbars=no,resizable=yes');
}
else
{
document.add.action = "add_cart.asp?action=addWishList";
document.add.submit();
}
}
Из моего основного понимания JavaScript, оператор ==
равенства будет пытаться преобразованием типа, если требуется, то сравнение значений. В этом случае символ 1
по сравнению с символом 1
, который, похоже, будет всегда быть правдой.
Я чувствую, что, возможно, что-то не хватает, потому что почему есть статья else
, если код всегда недостижим? Кажется, это был целенаправленный код, так как я не могу себе представить, что легко сравнить это сравнение. Тем не менее, по-видимому, в этом коде есть какая-то врожденная неряшливость, так как у программистов JavaScript должно быть привычка писать фигурные скобки на одной линии, чтобы избежать возможных возможных приемов вставки точки с запятой ...
Я что-то пропустил? Или это просто неряшливый код?
страница сформирована по серверному языку. один из '' 1 '' в уравнении, вероятно, генерируется директивой препроцессора типа 'if (<%=ActionID%> = '1')' – Banana
* "Однако, похоже, какая-то врожденная небрежность к этому коду, так как JavaScript-программисты должны быть в привычке писать фигурные скобки на той же линии, чтобы избежать любых возможных приемов вставки точки с запятой ... »* Это применимо только при использовании' return' с инициализатором объекта. Достаточно краев, если кто-то предпочитает стиль более старого, гораздо более легкого для перемещения кода, у них нет веской причины прекратить его использовать. –
@ Теория Бананы имеет смысл. –