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

JavaScript08

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里单引号和双引号没区别的。

var dang =()是错误的

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

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

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

和var dang=new Obejct()一样。

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

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

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

如果字符串里只有单引号,那就用双引号括起整个字符串:var str = "I'm the bone of my sword."

如果字符串里既有单引号,又有双引号,那只能转义了,方式一:var str1 = "Emiya said: \"I'm the bone of my sword.\""(双引号括起整个字符串,字符串内出现的双引号都需要转义)

方式二:var str2 = 'Emiya said: "I\'m the bone of my sword."'(单引号括起整个字符串,字符串里的单引号都需要转义)