- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
javascript“未结束的字符串常量”原因及其解决办法总结.
JavaScript“未结束的字符串常量”原因及其解决办法总结
JavaScript经典 2010-11-09 11:50:28 阅读25 评论0 ??字号:大中小?订阅
?????? 项目开发中,接触JS是在所难免的,但有时老是出现“未结束的字符串常量”的错误,并且踏破铁鞋无觅处,焦头烂额人郁郁。根据自己的经验和网络上常见的现象,做下总结,以便日后品茗细琢。
大致分为以下三种情况: ????????? JAVASCRIPT和JSP(或其他网页)文件的编码类型不一致
???????????? 现象:
???????????? 比如,你的jsp网页用的编码格式是utf-8 ,但是你的js文件用的编码格式却是gb2312。这样文件内部特殊字符因格式不一致就会在解码时出现乱码,从而导致编译器在未到达引号( 或 )前提前结束,产生“未结束的字符串常量”。这种不太容易发现错误。
???????????? 解决:????????????
?????????????如果你的js是外部引用进来的,而不是在jsp页面上编写的,可以在script type=”text/javascript” src=”XXX.js” charset=”###″ 中设置charset=###与你的jsp网页编码一致就可以了;如果你的js是在jsp页面上直接编写的,基本排除这种类型的错误,请往下看。
??????????? 在JAVASCRIPT中,字符串前后标记(如单引号或双引号)不匹配或者嵌套错误 ????????????? 现象:????????????
??????????????这种最常见,也最容易发现错误。字符串中单引号(? )或双引号( )前后不配对,或者在document.write()时,没有正确输出单引号( )或双引号( ),还有就是在单双引号嵌套时出现错误。
???????????? 解决:
?????????????让前后引号正确配对;???????????
???????????? 共有两层嵌套时,双引号内嵌套单引号是正确的,单引号内嵌套双引号也是正确的。
???????????? 共有三层嵌套时,最里面一层引号不能和最外面一层相同,这样是错误的,可以在最里面一层引号前加上转义字符“\”。
???????????? 传递的参数变量内或者jsp脚本变量中包含HTML标记语言、包含换行符或包含引号
?????????????现象:?????????????? 这种情况是最难发现的,容易忽略了变量内部文字原因产生的,将字符串以参数形式传递给一个函数或者href、action时,该字符串里包含换行符、引号或HTML标记,造成了此错误。如:a.测试时使用单行数据是正常的,未出现这个错误;使用多行数据并使用回车键换行,就出现了此错误,因为里面包含换行符。b.mArray[%=n_id%]=%=loopnum%%=n_topic%%=state%%=n_sendtime%%=n_content%;看似无误,但是%=n_topic%、%=n_content%中包含了多个单双引号,就出现了此错误。
???????????? 解决:????????????? 对于这种情况,我的解决方法有两个,一个是将字符串变量进行替换操作,将双引号替换成单引号,单引号替换成“\”,不过这样在传递后读取时还得替换成原文;第二种方法是不直接将数据以参数形式传递,而是先将其赋值给一个隐藏文本内,函数里只需读取文本中的内容即可。
文档评论(0)