未结束的字符串常量和转义符用法

发布时间:2019-11-17编辑:脚本学堂
本文介绍了未结束的字符串常量的解决方法,以及转义字符的用法,有需要的朋友参考下。

本节内容:
未结束的字符串常量的解决办法

1,如果没有"" ,错误是未结束的字符串常量原来 :
<input type="button" onclick=location.href="studentedit.asp?cid=<%=nCID%>&cname=<%=sCName%>" />
更改后:<input type="button" onclick="location.href='studentedit.asp?cid=<%=nCID%>&cname=<%=sCName%>'" />

2,js老是出错,明明ie7和Firefox中没有任何错误,在ie6就提示错误“未结束的字符串常量”,最后请教了Google,才知道是编码不统一的问题,可能是引用了与页面编码格式不同的js文件,或者是页面中包含了编码不同的代码,如汉字或者其它字符。

经过排查,发现是页面的编码不统一,将设置页面编码格式语句:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
从body上面调放至js代码之前。

3,js技巧--转义字符""的妙用
// blueDestiny, never-online // blueDestiny [at] 126.com
通常,在动态给定一个container的innerHTML时,通常是样做的:
<div id="divc" />
<SCRIPT LANGUAGE="javascript">
var div = document.getElementByIdx("divc");
var html = ""
html += ""
+ "<h1>"
+ "<a href='javascript:;' onclick="alert('javascript')">DHTML innerHTML propery.</a>"
+ "</h1>";
div.innerHTML = html;
</SCRIPT>

更简单的方法:
<SCRIPT LANGUAGE="JavaScript">
var html='
<table width="100%" border="0" cellspacing="0" cellpadding="0">
 <tr>
  <td>&nbsp;</td>
 </tr>
 <tr>
  <td>&nbsp;</td>
 </tr>
</table>
';
alert(html);
</SCRIPT>

有几点注意,看下面的例子
 

复制代码 代码示例:
<SCRIPT LANGUAGE="JavaScript">
//要用'把单引号转义
var html='
 <h1>
 javascript技巧
 </h1>
 <a href="javascript:;" onclick="alert('javascript')">javascript转义</a></font>
 <br/>
 power by 'blueDestiny, never-online'
';
alert(html);
</SCRIPT>
 

该转义的地方还是得用""
'-------------------------------------------------------
'   原理:
'-------------------------------------------------------
这个是我自己的个人观点,如果有不对的地方,请指出:
还是看个例子:
 

复制代码 代码示例:
<SCRIPT LANGUAGE="JavaScript">
//s1和s2的字符a前都有一个空格
s1='
 a';
s2=' a';
document.write("s1: " + s1.length + "ns2: " + s2.length);
</SCRIPT>
 

输出结果:
s1: 2 s2: 2
也就是说转义符将回车转义掉了!也就是说
再看个例子:
 

复制代码 代码示例:
<SCRIPT LANGUAGE="JavaScript">
//下面这个字符串是有空格的,也就是这样s1=' 的。
s1='
a';
document.write("s1: " + s1.length);
</SCRIPT>
 

输出错误,错误提示:未结束字符串常量。
也就是说是多加了一个空格的原因。那再这样试试
 

复制代码 代码示例:
<SCRIPT LANGUAGE="JavaScript">
s1='
a';
document.write("s1: " + s1.length);
</SCRIPT>
 

结果很明显了,在字符串中,""转义符可以将回车转义掉(也就是回车符不存在了),但是不能将制表符,以及空格字符转义(它们是存在的,上面的例子说明了这一点)。
最后,给大家一个小tips,还记得上面的这个代码吗?
 

复制代码 代码示例:
<SCRIPT LANGUAGE="JavaScript">
//要用'把单引号转义
var html='
 <h1>
 javascript技巧
 </h1>
 <a href="javascript:;" onclick="alert('javascript')">javascript转义</a></font>
 <br/>
 power by 'blueDestiny, never-online'
';
alert(html);
</SCRIPT>
 

观察下弹出的模态框,看看字符串是怎么样的?应该就会明白了。

未结束的字符串常量怎么解决
js未结束的字符串常量异常解决方法
JS报未结束字符串常量错误怎么解决
替换js字符串常量为变量
js 未结束的字符串常量错误怎么解决
js 未结束的字符串常量解决方法
如何在JavaScript中嵌入大量字符串常量