浅析Js中的单引号与双引号问题_javascript技巧

单引号和双引号其实没啥区别,看你自己习惯了

<input type="button" onclick="alert("1")">-------------------不正确
<input type="button" onclick="alert('1')">-------------------正确

双引号中再用双引号要这样:
var str = "abc\"def\"ghi"
用反斜杠来禁止解析双引号。

下面是我摘录的,希望对你有用:

在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下:
<input value="Test" type="button" onclick="alert(""OK"");" />

IE提示出错后,再漫不经心地改为:
<input value="Test" type="button" onclick="alert(\"OK\");" />

结果还是出错。
这时,我就想不通了,虽然我知道最直接的解决方法是写成这样:
<input value="" type="button" onclick="alert('OK');" />
但为什么javascript中的转义字符\没有效果了呢?

后来找到一段正常的代码:
<input value="Test" type="button" onclick="alert("OK");" />
这时才理解,原来这时,还是归于HTML的管辖范围,所以转义字符应该使用HTML的,而不是javascript的。两个双引号的做法是vbScript的,\"这种做法则是javascript的,而HTML的,则是用",此外还可以使用:"、'。

下面列出各种表达方法:

复制代码 代码如下:

<html>
<body>
<input value="外双引号内双引号-错误" type="button" onclick="alert("OK");" /><br />
<input value="外单引号内单引号-错误" type="button" onclick='alert('OK');' /><br />
<input value="两个双引号-错误" type="button" onclick="alert(""OK"");" /><br />
<input value="两个单引号-错误" type="button" onclick="alert(''OK'');" /><br />
<input value="\+双引号-错误" type="button" onclick="alert(\"OK\");" /><br />
<input value="\+单引号-错误" type="button" onclick="alert(\'OK\');" /><br />
<input value="外双引号内单引号-OK" type="button" onclick="alert('OK');" /><br />
<input value="外单引号内双引号-OK" type="button" onclick='alert("OK");' /><br />
<input value="外部不使用引号-OK" type="button" onclick=alert('OK');alert("OK"); /><br />
<input value="HTML转义字符"(& # 3 4 ;)-OK" type="button" onclick="alert("OK");" /><br />
<input value="HTML转义字符'(& # 3 9 ;)-OK" type="button" onclick="alert('OK');" /><br />
<input value="HTML转义字符"(& # x 2 2 ;)-OK" type="button" onclick="alert('OK');" /><br />
<input value="HTML转义字符'(& # x 2 7 ;)-OK" type="button" onclick="alert('OK');" /><br />
<input value="HTML转义字符"(& q u o t ;)-OK" type="button" onclick="alert("OK");" /><br />
<input value="HTML转义字符'(& a p o s ;)-IE错误" type="button" onclick="alert('OK');" /><br />
<input value="其它\\-错误" type="button" onclick="alert(\\"OK\\");" /><br />
<input value="其它\& # 3 4 ;-错误" type="button" onclick="alert(\"OK\");" /><br />
</body>
</html>

时间: 2025-01-20 17:25:55

浅析Js中的单引号与双引号问题_javascript技巧的相关文章

Js参数值中含有单引号或双引号问题的解决方法_javascript技巧

<script type="text/javascript">function Display(LoginEmail, UserName, ID) {        alert(LoginEmail);    }</script> 1.使用单引号传参:<a href="javascript:Display('abc@abc.com','Aleax Xie','10101239393')">Test1</a> 如果其中一

linux shell中的单引号与双引号的区别(看完就不会有引号的疑问了)(转)

tips: ============================= IFS - LINUX字段分隔符,内部字段分隔符 IFS(Internal Field Seperator)在Linux的shell中预设的分隔符,用来把command line分解成word(字段). IFS可以是White Space(空白键).Tab( 表格键).Enter( 回车键)中的一个或几个. IFS是shell脚本中的一个重要概念,在处理文本数据时,它是相当有用的.内部字段分隔符是用于特定用途的定界符.IFS

javascript 复杂的嵌套环境中输出单引号和双引号_javascript技巧

<a href="javascript:alert('这里有2个单引号一个双引号"\'\' :)');" >引号的嵌套</a> 单引号 ' 的 ASCII码是 39 双引号 " 的 ASCII码是34,所以我们可以用xx;的形式来代替具体的符号.虽然变成了xx;的形式,但是在嵌套环境中仍然要很当心.这里代码里的alert()使用的引号是单引号,alert里的字符串应该转义掉单引号.于是就有了 \'的形式.反之,就要转义掉 \"

Oracle中的 单引号 和 双引号

转自 http://www.cnblogs.com/gsk99/archive/2011/04/19/2021267.html 在Oracle中: 双引号的作用是:假如建立对象的时候,对象名.字段名加双引号,则示意 Oracle将严格区分大小写,否则Oracl都默认大写. 而单引号则示意:这个加了单引号的字段是一个字类似字符串,并不区分大小写. 单引号用于标识字符与数字的区别 当指定字符串文本时,必须用单引号将字符串文本引住. Oracle10g之前,假如字符串文本里含有单引号,那么必须运用两个

JavaScript中的单引号和双引号报错的解决方法_javascript技巧

在使用JavaScript显示消息或者传递字符数据的时候,经常会碰到数据中夹杂单引号(')或者双引号("),这种语句往往会造成JavaScript报错.对此一般采用/'或者/"的解决. 例如: Alert("this is test "message"!"); Alert('this is test 'message'!'); 一般会改成以下语句 Alert("this is test /"message/"!&qu

浅析JS中对函数function的理解(基础篇)_javascript技巧

正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法.因此,函数名实际上是指向函数对象的指针,不与某个函数绑定.在常见的两种定义方式(见下文)之外,还有一种定义的方式能更直观的体现出这个概念: var sum = new Function("num1", "num2", "return num1 + num2"); //不推荐 Function的构造函数可以接收任意数量的参

sql 插入语句单引号和双引号问题

问题描述 sql 插入语句单引号和双引号问题 ![ 这两句语句都对吗? 解决方案 java拼sql串用双引号,sql语句里用单引号 解决方案二: SQL中的单引号和双引号sql 那些单引号双引号关于SQL 中的单引号和双引号 解决方案三: 双引号那句编译不了,双引号没加上反斜杆注明.

由注册用户名不能使用单引号和双引号引发的思考

             机房收费系统敲完很久了,也很久没有在CSDN上写博客了.关于机房收费系统能写的东西很多,同期的也写了很多.在测试机房收费系统时如果用户名里含有单引号或者双引号时,每次系统都会报错或者崩溃.         究其原因是我们目前写的查询语句一般如下:         StrSQL="select * from Student_Info where UserName='" & Trim(txtUserName.text) & "'"

关于在JavaScript中使用EL表达式的问题,到底用不用加单引号或者双引号或者不加?

问题描述 关于在JavaScript中使用EL表达式的问题,到底用不用加单引号或者双引号或者不加? 之前我自己编辑百度地图api时候,EL表达式是直接写的,但是并不能使用. 当时我在csdn上找到了如下这篇文章,说是要加引号.http://blog.csdn.net/xuechongyang/article/details/8629473然后就成功了. 比如下代码的最后一句. <script type=""text/javascript""> // 百度