我遇到一些JavaScript的怪异行为的执行。的Javascript:如果假表达式继续,如果范围的代码
即使if
语句中的表达式计算结果为false
,我的if block
中的代码仍在执行。
这里是代码片段:
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);
}
}
这里是我的萤火虫截图:
任何想法?
你说会发生什么事真的不可能发生,所以你最好职位的代码。该截图难以辨认。 – Pointy 2012-02-19 16:28:04
难以理解的截图,请。提供代码以及在“if”中使用的变量的当前值。哦,顺便说一下,这是*总*在电脑前的人,我发现我自己一遍又一遍:) – 2012-02-19 16:28:40
只是一个假设,但也许萤火虫已经高速缓存了脚本的版本,并且你在看它在你一步一步执行时并不是实际正在执行的内容...... – 2012-02-19 16:34:04