gpt4 book ai didi

Javascript:如果表达式继续执行 if 作用域代码则为 false

转载 作者:数据小太阳 更新时间:2023-10-29 05:53:02 25 4
gpt4 key购买 nike

我遇到了 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);
}
}

这是我的 Firebug 截图:

Firebug

有什么想法吗?

最佳答案

尽管 Firebug 中突出显示了该行,但您确定它真的正在执行吗?我在 Firebug(和早期版本的 Chrome 调试器)中看到过这种行为,它们有时会突出显示一行代码,就好像他们已经踩到它一样,但实际上并没有执行该行。

所以我会在 if 语句的主体中插入一些明确的东西(比如 console.log("lwidth = "+ lwidth); 以查看它是否 真的执行。答案可能是 Firebug 只是错误地突出显示/显示该行作为当前行,而其上的代码实际上没有运行。

关于Javascript:如果表达式继续执行 if 作用域代码则为 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9350902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com