JavaScript 可以通过不同的方式来输出数据。
使用 window.alert() 弹出警告框。
使用 document.write() 方法将内容写到 HTML 文档中。
使用 innerHTML 写入到 HTML 元素。
使用 console.log() 写入到浏览器的控制台。
window.alert()
你可以弹出警告框来显示数据:
<!DOCTYPE html><html><head></dead><body><h1>这里是一个标题</h1><p>这里是一个段落。</p><script>window.alert(5 + 6);</script></body></html>
document.write()
您可以将 JavaScript 直接写在 HTML 文档中:
<!DOCTYPE html><html><head></dead><body><h1>这里是一个标题</h1><p>这里是一个段落。</p><script>document.write(Date());</script></body></html>
请使用 document.write() 仅仅向文档输出写内容。 document.write() 是直接写入到页面的内容流,如果在写之前没有调用 document.open(), 浏览器会自动调用open()。每次写完关闭之后重新调用该函数,会导致页面被重写。即,如果在文档已完成加载后执行 document.write(),整个 HTML 页面将被覆盖。
innerHTML
如需从 JavaScript 访问某个 HTML 元素,您可以使用 document.getElementById(id) 方法。
请使用 “id” 属性来标识 HTML 元素,并 innerHTML 来获取或插入元素内容:
<!DOCTYPE html><html><head></dead><body><h1>这里是一个标题</h1><p id="demo">这里是一个段落。</p><script>document.getElementById("demo").innerHTML = "段落已修改。";</script></body></html>
innerHTML 是 DOM 页面元素的一个属性,代表该元素的 HTML 内容。你可以精确到某一个具体的元素来进行更改。如果想修改 document 的内容,则需要修改 document.documentElement.innerElement。 innerHTML 很多情况下都优于 document.write(),其原因在于其允许更精确的控制要刷新页面的那一个部分。
console.log()
如果您的浏览器支持调试,你可以使用 console.log() 方法在浏览器中显示 JavaScript 值。
浏览器中使用 F12 来启用调试模式, 在调试窗口中点击 “Console” 菜单。
<!DOCTYPE html><html><head></dead><body><h1>我的第一个 Web 页面</h1><script>a = 5;b = 6;c = a + b;console.log(c);</script></body></html>
console.log() 相比 window.alert() 的优点是: 他能看到结构化的东西,如果是 alert,弹出一个对象就是 [object object],但是 console 能看到对象的内容。 console 不会打断你页面的操作,如果用 alert 弹出来内容,那么页面就死了,但是 console 输出内容后你页面还可以正常操作。
解决文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖的问题
<button onclick="winTest()">按钮</button>function winTest(){var txt1 = "This is a new window.";var txt2 = "This is a test.";document.open("text/html","replace");//加上document.writeln(txt1);document.write(txt2);document.close();//加上}

该方法将关闭 open() 方法打开的文档流,并强制地显示出所有缓存的输出内容。如果您使用 write() 方法动态地输出一个文档,必须记住当你这么做的时候要调用 close() 方法,以确保所有文档内容都能显示。document.write() 不会隐式调用 document.close() 方法的,否则上例中将不会有 This is a new window. 内容了。
一旦调用了 close(),就不应该再次调用 write(),因为这会隐式地调用 open() 来擦除当前文档并开始一个新的文档。
在载入页面后,浏览器输出流自动关闭。在此之后,比如延迟脚本 [setTimeout()] 或是 onload 执行的方法,任何一个对当前页面进行操作的 document.write() 方法将打开—个新的输出流,它将清除当前页面内容(包括源文档的任何变量或值)。
