gpt4 book ai didi

javascript - 获取一个数字,如字符串,将其转换并每秒加一

转载 作者:行者123 更新时间:2023-11-28 04:30:40 25 4
gpt4 key购买 nike

我在面试中遇到了这个问题,但我失败了。我的答案很接近,但我没有完成剧本。问题是:从段落中获取文本,添加一个并每秒将新值放回段落中。我的逻辑是,在 p 中,数字是一个字符串。我用 parseInt 将它转换为数字,然后检查它是否不是 NaN,警告不是数字,否则将值增加 1 并将其放回 p。

任何人请告诉我哪里错了。

JS:

$(function() {
setInterval("addOne()", 1000);
});

function addOne() {
var divP = $("div p").text();
parseInt(divP);
if (isNaN(divP)) {
alert("Not a number!");
} else {
divP++;
$("div p").text();
}
}

HTML:

<div>
<p>1</p>
</div>

最佳答案

你有很多问题:

  • 不要将 parseInt() 的结果赋值给任何东西
  • 您没有向 parseInt() 提供 radix 参数
  • 您应该将 addOne() 函数的引用提供给 setInterval() 以避免内部使用 eval()<
  • 您正在使用 text() 的 getter,而不是设置 divP 的值

这是一个工作示例:

$(function() {
setInterval(addOne, 1000);
});

function addOne() {
var divP = parseInt($("div p").text(), 10);
if (isNaN(divP)) {
alert("Not a number!");
} else {
$("div p").text(++divP);
}
}

Example fiddle

也有人认为调用 alert() 来显示 UI 状态信息(尤其是在每秒调用的函数中)不是好的做法。

关于javascript - 获取一个数字,如字符串,将其转换并每秒加一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35864304/

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