Я столкнулся с одним из самых странных способов поведения Javascript.
Несмотря на то, что выражение в операторе if
оценивается как false
, мой код внутри блока if
продолжает выполняться.
Вот фрагмент кода:
if (view.leftCols !== null) {
var leftCols = view.leftCols.split(',');
for (var lc = 0; lc < leftCols.length; lc++) {
var lcv = leftCols[lc].split(':');
var lcol = lcv[0];
Array.add(allCols, lcol);
try {
var lwidth = lcv[1] - MyWorkGrid.getColWidth(lcol);
if (lcol === 'Edit') {
if ($.browser.msie && parseInt($.browser.version) <= 8) {
lwidth = 23;
}
}
// this if statement fails.
if (lwidth > 0) {
grid.SetWidth(lcol, lwidth);
}
} catch (e) {
}
grid.MoveCol(lcol, 0, 1, 1);
}
}
Вот мой снимок экрана Firebug:
Есть идеи?