我懂文件。写作被认为是坏习惯;我希望整理一份理由清单,提交给第三方供应商,告诉他们为什么不应该使用文档。编写分析代码的实现。
请附上申领文件的理由。下面是一个坏习惯。
我懂文件。写作被认为是坏习惯;我希望整理一份理由清单,提交给第三方供应商,告诉他们为什么不应该使用文档。编写分析代码的实现。
请附上申领文件的理由。下面是一个坏习惯。
当前回答
文件的另一种合法使用。write来自HTML5 Boilerplate index.html示例。
<!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if offline -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.6.3.min.js"><\/script>')</script>
我还看到过使用json2.js JSON解析/stringify polyfill (IE7及以下版本需要)的相同技术。
<script>window.JSON || document.write('<script src="json2.js"><\/script>')</script>
其他回答
它使用XML呈现来分割页面(如XHTML页面)。
最好:一些浏览器切换回HTML渲染,一切工作正常。
可能:某些浏览器在XML呈现模式下禁用了document.write()函数。
最糟糕的情况:某些浏览器在使用document.write()函数时会触发一个XML错误。
根据Google-Chrome Dev Tools的Lighthouse Audit所做的分析,
对于连接速度较慢的用户,通过document.write()动态注入的外部脚本可能会将页面加载延迟数十秒。
我不认为使用文档。写作根本就是一种糟糕的习惯。简单地说,对于没有经验的人来说,这就像一个高压。如果用错了,你就会被煮熟。有许多开发人员至少使用过一次这种或其他危险的方法,但他们从未真正深入研究过自己的失败。相反,当出现问题时,他们只是跳出来,使用更安全的东西。正是这些人对所谓的“坏习惯”做出了这样的声明。
这就像格式化硬盘驱动器,当你只需要删除几个文件,然后说“格式化驱动器是一个坏习惯”。
一个简单的原因为什么文件。写是一个不好的做法,因为你无法想出一个你找不到更好的替代方案的场景。 另一个原因是您正在处理字符串而不是对象(这是非常原始的)。 它只附加到文档中。 它没有MVC(模型-视图-控制器)模式的美感。 使用ajax+jQuery或angularJS来呈现动态内容要强大得多。
它覆盖了页面上的内容,这是最明显的原因,但我不认为它“坏”。
除非使用JavaScript创建整个文档,否则它没有多大用处,在这种情况下,您可以从document.write开始。
即便如此,在使用文档时,您并没有真正利用DOM。写——你只是在向文档中倾倒一团文本,所以我认为这是糟糕的形式。