Sto riscontrando alcuni dei comportamenti più strani di Javascript.Javascript: false se espressione continua l'esecuzione di codice con scope
Anche se l'espressione nell'istruzione if
viene valutata su false
, il mio codice all'interno di if block
continua a essere in esecuzione.
Ecco il frammento di codice:
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);
}
}
Ecco la mia Firebug screenshot:
Tutte le idee?
Quello che dici succede davvero non può accadere, quindi è meglio pubblicare il codice. Quell'immagine è illeggibile. – Pointy
Screenshot illeggibile, pls. fornire il codice AND i valori correnti delle variabili utilizzate nel "se". Oh, a proposito, è * sempre * l'umano di fronte al computer, lo scopro ripetutamente ancora :) –
solo un'ipotesi, ma forse firebug ha memorizzato nella cache una versione più vecchia della sceneggiatura e quello che vedi in quando esegui l'esecuzione passo passo non è ciò che viene effettivamente eseguito ... –