我正在学习一本带有解决方案的Javascript书籍,但有一个例子没有解决方案。我想知道怎么做......
在javascript(在浏览器中)我应该做的是从1-1000写出偶数,并在完成后从1-1000写出奇数...我不知道如何添加非常小的"暂停& #34;在数字写入和如何知道第一个周期是否结束并开始写奇数之间?
以下是我如何开始:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Test</title>
</head>
<body>
<script type="text/javascript">
/* <![CDATA[ */
var i;
for (i = 0; i < 1000; i++)
if ((i % 2) == 0)
document.writeln(i);
/* ]]> */
</script>
</body>
</html>
答案 0 :(得分:4)
尝试一下:
function partA() {
for (var i = 0; i < 1000; i++){
if ((i % 2) == 0) document.write(i + ' ');
}
window.setTimeout(partB,1000)
}
function partB() {
for (var i = 0; i < 1000; i++){
if ((i % 2) !== 0) document.write(i + ' ');
}
}
partA();
旁注:
仅使用document.write
进行测试。
如果执行它,则在加载的HTML文档中,将覆盖所有HTML元素。 (正如你在我的例子中看到的那样)
答案 1 :(得分:1)
你应该尝试这样的事情:
(function(){
for (var i = 0; i < 1000; i++){
if ((i % 2) === 0) document. write(i + ' ');
}
for (var i = 0; i < 1000; i++){
if ((i % 2) !== 0) document. write(i + ' ');
}
})();
*您只应使用document.write
进行测试
答案 2 :(得分:1)
我无法在计数迭代之间发生暂停。下面的代码,代替你的脚本,将给你0-1000平均值,然后赔率,每行1。
有一些关于在网站上等待javascript的讨论:What's the equivalent of Java's Thread.sleep() in JavaScript?
<script>
for(var mod = 0; mod<2; mod++){
for (var i = 0; i < 1000; i++)
if ((i % 2) == mod)
document.writeln(i+"<br>");
}
</script>
答案 3 :(得分:0)
首先,如果你想要从1到1000的偶数,你的迭代变量应该从1开始,而不是0. :) 要在偶数之后写出奇数,你可以用if(i%2 == 1)在第一个后面放另一个循环,它应该没问题!
答案 4 :(得分:0)
我不知道如何添加&#34;暂停&#34;在数字写入和如何知道第一个周期是否结束并开始写入奇数
之间
使用功能。你也应该在那本书中阅读。使用一个用于偶数,另一个用于奇数。应该有一个关于事件处理的章节,您可以使用元素(如按钮)来处理点击。用它来调用函数。
另外,请继续阅读。除了在加载页面期间完成的内容外,document.write*
函数并不是非常理想的。尝试使用更高级的方法写入DOM。那些......也应该出现在那本书中。
最后,JavaScript没有暂停&#34;,也没有像sleep
这样的东西。它有定时器,但它的工作方式与sleep
不同。
一个不相关的说明,我相信你正在使用一本旧书。 &#34; HTML5&#34;只需要一个&#34; html5 doctype&#34;和<html>
。
<!doctype html>
<html>
...
答案 5 :(得分:0)
此处发布的其他解决方案是正确的,但没有理由通过所有模数工作:
function evens () {
var i;
for (i = 2; i <= 1000; i++,i++) {
document.writeln(i + '<br>');
}
};
function odds () {
var i;
for (i = 1; i < 1000; i++,i++) {
document.writeln(i + '<br>');
}
};
evens();
setTimeout(odds, 2000);
答案 6 :(得分:-1)
c:\test ['dir1', 'dir2'] []
c:\test\dir1 [] ['file1™']
c:\test\dir2 [] ['file2']
答案 7 :(得分:-1)
<script type="text/javascript">
var number = 0;
while (number <= 1000) {
if (number % 2 === 0) {
document.write(number + " is even number <br />");
number = number + 1;
} else {
document.write(number + " is odd number <br/>");
number = number + 1;
}
}
</script>