在ASP学习当中对双引号,单引号以及&符号的理解
在我的Web安全学习的开始需要对ASP的代码有一定的熟悉程度但是在查看源码的时候经常性的看到双引号,单引号以及&号.并且对他们的用法经常产生疑惑的地方,这里是我搜集的一些理解和感悟,以期对ASP的学习有所帮助~
一.双引号""
ASP中处在双引号中的可以是任意的字符,字符串,HTML代码.
比如 <%response.write("cnbruce here")%><hr>
<%response.write("<b>cnbruece here</b>")%>
产生的结果分别是:默认字体和加粗文字“cnbruce here”
下面深入一点如果我要在输出的页面文字上加一点颜色效果怎么办呢?
1.一般文字颜色这样写:<font color="#0000ff"></font>
2.response.write写法是这样的:response.write("输入显示内容")
3.如果将上述的1和2放在一起的话,两对双引号势必会形成嵌套
4.调试结果不容乐观,因为color的前引号和write的前引号形成匹配,内容为<font color=;同样color的后引号也就和write的后引号匹配了,内容为:>cnbruce</font>。最终结果是:中间的 #0000ff 被孤单了。
5.所以为了结果正确,你可以将 #0000ff 当成字符串放在双引号里面,然后该字符串与前字符串<font color=和后字符串>cnbruce</font>中间的连接就采用&号
最后结果如下:
<%response.write("<font color=" &" #0000ff" & ">cnbruce</font>")%>
二.单引号''
正如我们学习语文所理解的一样,继续放在双引号当中的引号可以采用单引号。
对于上述的描述我们也可以将双引号变成单引号来进行改写:
response.write("<font color="#0000ff">cnbruce</font>")
中的#0000ff就可以将其双引号变为单引号:
response.write("<font color='#0000ff'>cnbruce</font>"),这样执行同样正确。
三.连接字符&号
在ASP中&符号是用来来进行连接的,包括字符串-字符串,字符串-变量,变量-变量等混合连接
例如:
<%
mycolor="#0000ff" response.write("<font color=' "&mycolor&" '>"&"cnbruce"&"</font>")
%>
总结完这些以后我们来看一些值得注意的地方:
上面的那个语句里面在单引号里面有引用了双引号,那么是不是跟上面我们所说的双引号里面可以放单引号而有所模糊了呢其实不是的,我们继续看
1.我们自己定义了一个变量mycolor,按照原则变量放在response.write里面是不需要加双引号的
加了双引号就表示字符串而非变量了
2.所以response.write如果要输出变量可以直接写成:response.write(mycolor)
3.但是如果我们的变量一定要放在双引号里面怎么办呢
4.这个时候我们就有了这种关键的写法:将ASP变量继续添加左右的“&符号,就可以放在双引号里面了
例子是:response.write(" "&mycolor&" ")其实其内在就是一前一个空字符串连接mycolor变量
在后面连接一个字符串而已。
最后再给出一个终极例子以作结尾:
<%
mycolor="#0000ff"
response.write("<font color=' "&mycolor&" '> " & mycolor &"</font>")
这句话包含了字符创,变量以及变量在双引号里面的应用。
%>
在ASP学习当中对双引号,单引号以及&符号的理解的更多相关文章
- ASP中双引号单引号和&连接符使用技巧
ASP中双引号单引号和&连接符使用技巧 一.ASP中处在双引号中的可以是任意的字符.字符串,HTML代码 1.<%response.write ("I am here" ...
- shell 脚本中双引号 单引号 反引号 的区别
转自:http://blog.csdn.net/iamlaosong/article/details/54728393 最近要编个shell脚本处理数据,需要检测数据文件是否存在,文件名中包含日期,所 ...
- SQL视图优化改写为存储过程遇到 双引号 单引号问题
核心在于拼接SQL字符串中遇到中文双引号问题: 可以使用系统函数 替换掉set @pageStr = replace(@queryStr,'"','''') 不过更推荐 使用两个单 ...
- Python字符串符号:双引号/单引号用法注解。
众所周知python中单引号和双引号常常被我们所使用,例如print.input等等. 但是对于打印输出所引导的字符串大多都是用双引号的形式来做,"Hello,python!",而 ...
- sed 双引号 单引号的区别
a="abcd" b="abc" sed -i '/$a/ s/$/$b/' test.a 我想在test.a中匹配以”abcd“开头的行,然后在行尾加入”ab ...
- Ubuntu下键盘输入错乱问题,输入双引号输出的是@符号,输入#号输出的是未知语言的字符
装完搜狗后,键盘开始出现混乱,切换到英文输入法,输入双引号输出的是@符号,输入#号输出的是未知语言的字符. 网上有的说在 system - keyboard - Input Source 下看看是否是 ...
- python--基础学习(三)字符串单引号、双引号、三引号
1.基本认识 单引号字符串:'python' 双引号字符串:"python" 三引号字符串:'''python'''(三单引号),"""python& ...
- (转)解决fasterxml中string字符串转对象json格式错误问题(无引号 单引号问题)
原文地址:解决fasterxml中string字符串转对象json格式错误问题 com.fasterxml.jackson.databind.ObjectMapper mapper = new com ...
- Python3基础 print \" 输出单引号与双引号
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
随机推荐
- wpf版扫雷游戏
近来觉得wpf做出来的界面很拉风,自己也很喜欢搞些小游戏,感觉这做出来的会很炫,很装逼,(满足自己的一点小小的虚荣心)于是就去自学,发现感觉很不错,可是属性N多,太多了,而且质料也少,很多不会用,只会 ...
- Normalize.css的使用及下载
Normalize.css 只是一个很小的CSS文件,但它在默认的HTML元素样式上提供了跨浏览器的高度一致性.相比于传统的CSS reset,Normalize.css是一种现代的.为HTML5准备 ...
- Android 5.X新特性之为RecyclerView添加HeaderView和FooterView
上一节我们讲到了 Android 5.X新特性之RecyclerView基本解析及无限复用 相信大家也应该熟悉了RecyclerView的基本使用,这一节我们来学习下,为RecyclerView添加H ...
- VMware中CPU分配不合理以及License限制引起的SQL Scheduler不能用于查询处理
有一台SQL Server(SQL Server 2014 标准版)服务器中的scheduler_count与cpu_count不一致,如下截图所示: SELECT cpu_count , ...
- 查看Oracle执行计划
1.PL/SQL解释计划窗口 优点:方面 缺点:看到信息有限 2.explain_plan for 针对某个句子优化较方便 3.sqlplus Sqlplus里输入命令: set autotrace ...
- Scala访问修饰符(四)
Scala 访问修饰符基本和Java的一样,分别有:private,protected,public. 如果没有指定访问修饰符符,默认情况下,Scala对象的访问级别都是 public. Scala ...
- rhel7 单用户修改root密码
rhel7密码忘记的时候,可以通过单用户模式修改密码 1.修改 引导文件,添加rw init=/sysroot/bin/sh ,ctrl+x启动 2.切换根chroot /sysroot3.使用pas ...
- zabbix-3.0.3 mysql表分区的方法
目的:解决mysql空间越来越大,mysql性能出现瓶颈,zabbix会无端出现大量agent超时报警 中间遇到一个mysql问题:5.1版本的mysql不支持分表(其实是支持的,需要重新编译mysq ...
- [No000097]程序员面试题集【下】
1.下面中共包含()个正方形?40 计算规律,设大长方形长是5,宽是4,小正方形边长是1,那么图中.小正方形的个数是,4*5个,边长是2的正方形的个数是3*4个,边长是3的正方形的个数是2*3个,边长 ...
- MVC系列——MVC源码学习:打造自己的MVC框架(四:了解神奇的视图引擎)
前言:通过之前的三篇介绍,我们基本上完成了从请求发出到路由匹配.再到控制器的激活,再到Action的执行这些个过程.今天还是趁热打铁,将我们的View也来完善下,也让整个系列相对完整,博主不希望烂尾. ...