猿问

ASP.NET中嵌套使用JS里alert的困惑

asp.net 中我想让网页弹出一个 alert 框,显示我之前代码中的变量值。
一开始我这么写:

Response.Write("<script> alert(<%=targetAnswer[seed]%>)</script>");

页面上什么都不显示,也不弹窗。

后来上网查了些资料,写法如下:

Response.Write("<script> alert('"+targetAnswer[seed]+"')</script>");

请问为什么可以这么写呢?

我的理解是targetAnswer[seed]是我之前逻辑代码中的一个数组的值,所以我一开始想使用<%= %>来解决这个问题,可是失败了,但在第二种写法中,他是如何识别到targetAnswer[seed]是一个数组中的元素而不是一个字符串就叫做是"+targetAnswer[seed]+"呢?


墨色风雨
浏览 397回答 2
2回答

拉风的咖菲猫

Response.Write("<script> alert('"+targetAnswer[seed]+"')</script>");是三部分的相加啊"<script> alert('"targetAnswer[seed]"')</script>"当然可以了你上面的写法相当于有个html里有这么一句话<script> alert(<%=targetAnswer[seed]%>)</script>alert(<%=targetAnswer[seed]%>)能成功吗? 没有这个变量吧 在js执行的环境中<%=targetAnswer[seed]%>也不是合法js变量名字
随时随地看视频慕课网APP
我要回答