更新:感谢大家的回复。我没有意识到document.write()已被弃用。在学习列中添加另一个档位。我将接受这里发布的建议,但保留原始问题,以便在原始问题的背景下给出答案。
我正在编写一些相当长的write()参数,我正在尝试确定以下哪个示例最适合,考虑语法,可读性和性能。我应该
一个。将它们全部放在一行:
<script>
var someVariable = "(<a href=\"http://www.example.com\">Link<\/a>)";
document.write("<p>Supergroovalisticprosifunkstication and Supercalifragilisticexpialidocious are very long words.</p>" + someVariable + "<p>Dociousaliexpisticfragilicalirepus is Supercalifragilisticexpialidocious spelled backwards.</p>" + someVariable);
</script>
湾通过添加换行符来解决这些问题,以提高可读性:
<script>
var someVariable = "(<a href=\"http://www.example.com\">Link<\/a>)";
document.write("<p>Supergroovalisticprosifunkstication and Supercalifragilisticexpialidocious are very long words.</p>"
+ someVariable
+ "<p>Dociousaliexpisticfragilicalirepus is Supercalifragilisticexpialidocious spelled backwards.</p>"
+ someVariable);
</script>
℃。通过使用多个变量来解决它们:
<script>
var someVariable = "(<a href=\"http://www.example.com\">Link<\/a>)";
var partOne = "<p>Supergroovalisticprosifunkstication and Supercalifragilisticexpialidocious are very long words.</p>";
var partTwo = "<p>Dociousaliexpisticfragilicalirepus is Supercalifragilisticexpialidocious spelled backwards.</p>";
document.write(partOne + someVariable + partTwo + someVariable);
</script>
提前致谢。
答案 0 :(得分:3)
我的直觉反应是:不要那样做。 (您的示例很糟糕,您不应该在行为层中编写大量内容。)
每当必须执行此操作时,请使用concat:
var longVar = 'asdfasdf asdf asdf asdfasdf asdfasdf asdf asdfasdf' +
' fasdf s9d0af asdf asdf0s,dv z-xcfva-sdfmwaert ' +
'qersdfasdfasdfasdfasdf';
document.write(longVar);
或者,如果它变得非常长,使用加入数组可以提高性能:
var longVar = [
'asdfasdf asdf asdf asdfasdf asdfasdf asdf asdfasdf',
' fasdf s9d0af asdf asdf0s,dv z-xcfva-sdfmwaert ',
'qersdfasdfasdfasdfasdf'
].join('');
document.write(longVar);
答案 1 :(得分:0)
我会写它但是最容易阅读和维护。然后测试性能。如果速度太慢,请尝试逐步改进算法,直到速度可以接受为止。
所以提高绩效的想法: - 确保脚本缩小。 - 在服务器上执行尽可能多的预处理并提供“已处理”脚本。
通过使用缩小工具(例如jsMin),您可以通过使用空格和换行符来解决任何问题。
答案 2 :(得分:0)
- 这是使用document.write()
的一个不好的例子,因为它属于90年代,并且在1998年引入HTML4时被弃用了......
如果你有任何服务器端,最好在那里处理代码生成......
关于连接字符串的问题,我同意无眼线! - )
编辑(29/10)
作为对评论的评论(我需要代码符号)
<script type="text/javascript">
window.onload = function(){
var newD = document.createElement("div");
newD.appendChild(document.createTextNode("Hello World"));
document.getElementsByTagName("body")[0].appendChild(newD);
}
</script>
这样就可以在文档中插入任何内容......