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>"
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表达式,最多半个小时可学会。
意思就是:var a = val 你定义了一个a变量接收val的值,然后又定义了一个b字符串,但这个字符串中存得是一个文本框类型的字符串,
然后你在这个文本框中调用了一个方法[获得焦点的方法],调用的是check函数,传了一个你定义的a的值过去。
因为你外边定义得是单引号,里面有双重双引号,转译一下,防止报错