dra*_*gon 1 html javascript jquery
我在面试时遇到了这个问题,但我失败了.我的答案很接近,但我没有完成剧本.问题是:从段落中获取文本,添加一个并每秒将新值放回段落中.我的逻辑是,在p中,数字是一个字符串.我用parseInt将其转换为数字,然后检查是否为NoNaN,警告不是数字,否则用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();
}
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<div>
<p>1</p>
</div>
Run Code Online (Sandbox Code Playgroud)
你有很多问题:
parseInt()给任何内容radix参数parseInt()addOne()函数的引用setInterval()以避免内在使用eval()text(),而不是设置值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);
}
}
Run Code Online (Sandbox Code Playgroud)
也可以说,调用alert()显示UI状态信息(特别是在每秒调用的函数中)并不是一种好的做法.