【发布时间】:2018-01-30 08:46:44
【问题描述】:
我创建了以下 isqrt 函数。
function isqrt(n) {
var shift, result, candidateResult;
if (n < 0) {
return false;
}
for (shift = 2; n >> shift; shift += 2) {}
for (result = 0, shift -= 2; shift >= 0; shift -= 2) {
result = result << 1;
candidateResult = result + 1;
if (candidateResult * candidateResult <= n >> shift) {
result = candidateResult;
}
}
return result;
}
这里有一个空块。
for (shift = 2; n >> shift; shift += 2) {}
但这是故意的。 我知道我可以按如下方式改进此代码。
shift = 2;
while (n >> shift) {
shift += 2;
}
但我不想要它。
我在 Windows 10 上使用最新版本的支架。:)
【问题讨论】:
标签: javascript jslint brackets