js单引号和双引号的转义问题

JavaScript050

js单引号和双引号的转义问题,第1张

html的双引号是正常的,每一个属性,例如:value="",一般都有双引号包着。但是用js添加页面节点的时候,需要转义,比如:

var html = "<div onclick=\" openUrl( ' <s:url value='%{resUrl}'/>' ) \"></div>"

document.getElementById("main").innerHTML = html

最外面的那个双引号是表示一个字符串变量的意思,而被包在里面的双引号就不起作用,只有在页面显示的时候才会起作用,也就是说js不会认为第一个双引号和第二个双引号是一对,会认为</div>"这个双引号才是结尾,因为中间的被"\"转义了。

openUrl函数中的第一对单引号是表示字符串的意思,你省去也不会报错,中间那一对则是标签的属性需要。

最后的问题说明对struts的标签不熟,可以看下struts的property和ognl表达式,最多半个小时可学会。

js里面的单引号和双引号在jquery或者js中拼接字符串时是没有区别的,都可以被成功解析成字符串。从代码编译的角度说的话,单引号在JS中被浏览器(IE,Chrome,Safari)编译的速度更快(在FireFox中双引号更快)。

而且单引号和双引号可以混合使用,但混合使用时需要注意。情况一般出现在js拼接字符串里面,或者html元素的属性里面:单引号和双引号必须成双成对的出现,可以单引号在外面,也可以双引号在外面:

vara="'你好'"//这里变量a的内容就是字符串'你好',这里的单引号也是字符串的一部分

varb='"你好"'//这里变量b的内容就是字符串"你好",这里的双引号也是字符串的一部分

console.info(a===b)//输出false,它们不是一样的字符串

扩展资料:

单引号和双引号使用的几种情况

1、如果在引号里面使用相同的引号,需要用\转义。

单引号转义为\'

单引号转义为\"

2、单引号和双引号之间的字符串可以相加

'af'+"bvvv"+'dd'

输出"afbvvvdd"

3、单引号也是字符串的一部分

"<divclass='con"+"tent'></div>"

输出"<divclass='content'></div>"

js里单引号和双引号没区别的。

var dang =()是错误的

var dang =('') 和var dang =''是一样的

var dang =("")和var dang ="" 是一样的

上面之所以一样,就好比你做连加运算,多几个括号没任何问题。

和var dang=new Obejct()一样。

[]是js中Array的简单写法,var dang=[]和var dang=new Array()一样。

楼上的只有1、2点是说到点子上了的。

你的串号我已经记下,采纳后我会帮你制作