gpt4 book ai didi

asp-classic - Response.Write 与 <%= %>

转载 作者:行者123 更新时间:2023-12-03 01:39:21 26 4
gpt4 key购买 nike

请记住,这是针对经典 asp

哪个更好,所有 HTML 都包含在 Response.Write 语句中,或者通过 <%= %> 将变量插入到 HTML 中。
例如

Response.Write "<table>" & vbCrlf
Response.Write "<tr>" &vbCrLf
Response.Write "<td class=""someClass"">" & someVariable & "</td>" & vbCrLf
Response.Write "</tr>" & vbCrLf
Response.Write "</table>" & vbCrLf

VS

<table>
<tr>
<td class="someClass"><%= someVariable %></td>
</tr>
</table>

我主要是从性能的角度来问,当要插入多个变量时,哪种对服务器的影响最小?

如果不存在技术差异,那么其中一种相对于另一种的论据是什么?

最佳答案

首先,您应该考虑的最重要因素是易于维护。您可以购买一个服务器场,而无需花费金钱和时间来破译一个困惑的网站来维护它。

无论如何,没关系。归根结底,ASP 所做的只是执行一个脚本! ASP 解析器获取页面并转换 <%= expression %>直接脚本调用,每个连续的 HTML block 都成为对 Response.Write 的一个巨大调用。生成的脚本将被缓存并重用,除非页面在磁盘上发生更改,这会导致重新计算缓存的脚本。

现在,过多使用<%= %>导致了现代版本的“意大利面条代码”:可怕的“标签汤”。你将无法弄清楚其中的逻辑。另一方面,过多使用 Response.Write 意味着您在页面呈现之前根本无法看到该页面。使用<%= %>在适当的时候获得两全其美的好处。

我的第一条规则是注意“可变文本”与“静态文本”的比例。

如果您只有几个地方需要替换可变文本,则<%= %>语法非常紧凑且可读。然而,正如<%= %>开始积累,它们模糊了越来越多的 HTML,同时 HTML 也模糊了越来越多的逻辑。作为一般规则,一旦开始循环,您需要停止并切换到 Response.Write`。

没有太多其他硬性规定。您需要为您的特定页面(或页面的一部分)决定哪一个更重要,或者自然更难理解,或更容易破坏:您的逻辑还是您的 HTML?通常是其中之一(我见过数百起这两种情况的案例)

如果你的逻辑更挑剔,你应该更多地关注 Response.Write ;这将使逻辑脱颖而出。如果您对 HTML 比较挑剔,请支持<%= %> ,这将使页面结构更加明显。

有时我必须编写两个版本并并排比较它们以决定哪个版本更具可读性;这是最后的手段,但是当你对代码内存犹新时就这样做,三个月后当你必须做出更改时你会很高兴。

关于asp-classic - Response.Write 与 <%= %>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/151448/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com