javascript - 需要的信息

时间:2013-11-27 11:08:46

标签: javascript

我目前正在CodeAcademy上学习javascript编码实践。在Codeacademy中测试代码时,我使用console.log将字符串输出到Codeacademy内置的浏览器中。代码工作正常。第一个问题是:当我在Dreamweaver文本编辑器中测试相同的代码片段并将其输出到浏览器时,它不会打印任何内容,我必须将其更改为document.write才能使其正常工作。

下一部分 然后,我在某处读到不建议在生产代码中使用document.write!有人可以解释一下。

下一部分 我几天前简要介绍了JS免费会议。在这次会议上,建议使用类似提示的东西(“La di da”);不建议在生产工作中使用。

如果有人有时间和精力解释为什么这些东西都是JS内置的,但没有建议使用,或者为什么它们在使用时不起作用,我将非常感激。

1 个答案:

答案 0 :(得分:2)

  1. Code Academy将在其Web应用程序中模拟console。在大多数浏览器中按“F12”,您将打开“开发者工具”;它将内置一个控制台,这是console.*(包括console.log())调用输出到的地方。

    正如我所说,Code Academy将拥有一些自己的JavaScript,它们将捕获这些调用,并使他们的教程更容易使用,将其输出到一个更容易让你看到的地方。

    但是,Dreamweaver不会这样做,这就是为什么你没有看到它。

  2. 使用document.write并没有什么不妥之处。 然而它的行为会有所不同,具体取决于页面是否已加载,并且通常有更友好且更有用的替代方案,例如document.getElementById(),用于定位何处直接输出。

    有关详细信息,请参阅Why is document.write considered a "bad practice"?

  3. document.write一样,prompt()confirm()等也没有错; Stack Overflow自己在其网站上使用confirm()缺点是它们无法设置样式,例如prompt()仅限于一次要求一件事。

    然而,模型窗口(例如jQuery UI dialogBootstraps "Model"或各种lightbox plugins)可以是。