嵌入式VBScript中"<%"和"<%="之间有什么区别?

Rob*_*gal 3 html vbscript asp-classic

我正在开发一个代码库,它作为嵌入在HTML中的VBScript代码.我注意到所述代码行周围有以下两个不同的标签

<%= MyFunc(val1) %>
Run Code Online (Sandbox Code Playgroud)

<% MyFunc(val1) %>
Run Code Online (Sandbox Code Playgroud)

在这些部分的开头使用"="字符有什么区别?

LBu*_*kin 15

<% 计算服务器代码中的表达式但不发出输出.

<%= 还会计算表达式,但将结果包装在Response.Write中,因此它会生成输出.


Pet*_*son 5

当你看到:

<%= MyFunc() %>

它的确意味着:

<%
Response.Write( MyFunc() )
%>
Run Code Online (Sandbox Code Playgroud)

它是将输出写入响应的简写.

<%
MyFunc()
%>
Run Code Online (Sandbox Code Playgroud)

以上只会运行代码,但不会将其写入响应,除非它Response.Write在Function/Sub本身内部有一些.