0

我正在维护一个 javascript 页面,我只是想知道用这个包围一个变量会做什么?

<%= variable %>

我尝试搜索但无法找到任何相关内容,所以如果已经回答,我很抱歉!=)

谢谢!

4

4 回答 4

3

这些是 ERB 样式的标签。它们用于多种语言和格式,通常用于将简单的变量输入到页面中或对传递给页面的变量进行一些逻辑处理。

鉴于它是一个 Javascript 页面,您可能需要查看 underscore.js 模板引擎的文档,它会让您很好地了解发生了什么。 http://underscorejs.org/#template

另一个解释下划线中 <%- %>、<%= %> 和 <% %> 标记之间区别的 SO 页面: 布尔检查下划线模板

Interpolate 会将元素作为文本(而不是 HTML)放入元素中,escape 将允许您嵌入 HTML,并且 evaluate 会将其中的内容作为 JS 运行。

于 2012-09-20T23:58:01.837 回答
2

这可能是许多不同的服务器端语言,包括 JSP、ASP (vbscript) 或 ASP.NET,但它不是 JavaScript。您将能够通过您正在编辑的文件的文件扩展名来判断。

  • .asp以ASP (vbscript) 文件结尾的文件。
  • .aspx以ASP.NET 文件结尾的文件。
  • 以 结尾的.jsp文件是 JSP 文件。
于 2012-06-22T16:06:43.203 回答
1

这可以识别为JSP scriptlet 表达式。您通常会在具有.jsp扩展名的文件中看到这一点。JSP 是一种基于 Java 的服务器端视图技术,类似于 PHP 和 ASP。这与 JavaScript 完全无关。JSP(以及 PHP 和 ASP)仅仅是 HTML 代码生成器。它们在网络服务器上运行并生成 HTML。JavaScript 是该 HTML 的一部分,仅在 webbrowser 上运行。

这段特定的代码基本上在声明表达式的那一点将String保存的值的表示形式打印到 HTTP 响应中。variable它就像一个System.out.println(variable), 但随后以 HTTP 响应正文作为输出。JSP/Servlet 容器也可以配置为.js对 servletcontainer 提供的文件执行它们,但这不是默认配置。

顺便说一下,JSP scriptlet 表达式是一种相当古老的 JSP 编写方式,它会导致紧密耦合和不可维护的代码。另请参阅如何避免 JSP 文件中的 Java 代码?

于 2012-06-22T16:00:00.987 回答
0

您很可能正在查看ASP 标记,由 ASP 和 ASP.NET 在客户端代码中用于与服务器通信。

例如,假设我的页面上有这个隐藏的输入,嵌套在一些转发器控件中:

<input type="hidden" name="foo" id="foo" runat="server" value="blah" />

为了获得呈现的 ID(如果它嵌套在 ASP 控件中,则不仅仅是“foo”),我需要从服务器获取它:

var hiddenID = <%= foo.ClientID %>;
于 2012-06-22T16:02:22.033 回答