本文共 1611 字,大约阅读时间需要 5 分钟。
服务器脚本和客户端脚本的区别
<%...%> 和 <script runat="server">....</script>
都是在服务器端运行的脚本 <script>....</script> 同时可以提示楼主一点 <%...%> 和 <script runat="server">....</script> 两者的执行优先级顺序和使用范围 <script runat="server" language="(js or vbs)">....</script> 服务器端的script块使用的语言如果和当前ASP页面的语言不一样 则优先于<%%>程序块执行 语言一样则次于<%%>程序块执行 举个例子: <%@ language="vbscript"%> <%Response.Write " 123 "%> <script language="javascript" runat="server"> Response.Write(" 789 "); </script> 输出的结果就会是: 789 123 <%@ language="javascript"%> '语言一样' <%Response.Write " 123 "%> <script language="javascript" runat="server"> Response.Write(" 789 "); </script> 输出的结果就会是: 123 789 知道了优先级后 那“变量范围”也就很清楚了 低优先级的可以使用高优先级的变量和方法 呵呵 再举个例子 <%@ language="vbscript"%> <script language="vbscript" runat="server"> Response.Write Test </script> <% Class TestClass Public Default Property Get This This = "test" End Property End Class Set Test = New TestClass %> ---- <%@ language="vbscript"%> <% Response.Write Test.value %> <script language="javascript" runat="server"> var Test = new function() { this.value = "test"; } </script> 上面两者均能输出 test 啰嗦了半天了 希望楼主能看明白我的意思
1.在asp.net中写注释时可用:
行注释写法:
//<%-- 这里写行注释 --%> 块注释写法: /*<%-- 这里写注释语句块, 多行都行。 --%>*/这样的好处是:
我们自己的开发人员可以阅读到完整的注释,而编译后的ASP.NET页面将忽略掉<%--到--%>中的注释部分,恶意攻击者在客户端就看不到这些注释了。他只能看到:// 或者 /**/
2。在 html中的注释
JavaScript还能识别HTML注释的开始部分"<!--",JavaScript会将其看作为单行注释结束,如使用"//"一样。但JavaScript不能识别HTML注释的结果部分"-->"。
这种现象存在的主要原因是:在JavaScript中,如果第一行以"<!--"开始,最后一行以"-->"结束,那么其间的程序就包含在一个完整的HTML注释中,会被不支持JavaScript的浏览器忽略掉,不能被显示。如果第一行以"<!--"开始,最后一行以"//-->"结束,JavaScript会将两行都忽略掉,而不会忽略这两行之间的部分。用这种方式可以针对那些无法理解JavaScript的浏览器而隐藏代码,而对那些可以理解JavaScript的浏览器则不必隐藏。
转载地址:http://qwrmb.baihongyu.com/