为什么在客户端务必加双引号才能输出内容

为什么在客户端必须加双引号才能输出内容
jsp的js脚本里面有如下代码
var typename;
function loading() {
<% String tName=(String)request.getAttribute("typename"); %>
typename = <%=tName %>;
}
此时typename内没有值。
但是如果改成如下这样就可以。
function loading() {
<% String tName=(String)request.getAttribute("typename"); %>
typename = “<%=tName %>“;
}
为什么加双引号后,typename可以获取到服务器端的值?
这个<%=tName %> 在jsp页面内被看做对象?
------解决思路----------------------
<%= %>
这种是jsp的expression,用以区分js变量,在js中使用加上双引号或单引号(可以试试)
------解决思路----------------------
不加引号,jsp最后生成的html就是直接吧这个值替换了,你可以买浏览器看看生成的源码,这就像你的值是一个变量一样,也就是说如果他不是数值类型,其实已经报错了,未定义异常,用f12看看,加了引号就是一个字符串,这个没什么好说的

相关内容推荐