js技巧--转义符"\"的妙用(转)

简介:

 

通常,我们在动态给定一个container的innerHTML时,通常是样做的:
< div  id ="divc"   />
< SCRIPT  LANGUAGE ="JavaScript" >
var  div  =  document.getElementById( " 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 >
仔细观察弹出来的模态框,看看字符串是怎么样的?应该就会明白了。


本文转自Sam Lin博客园博客,原文链接:http://www.cnblogs.com/samlin/archive/2007/12/22/1010849.html,如需转载请自行联系原作者


目录
相关文章
|
JavaScript Java 数据库
关于js中单双引号以及转义符的理解
关于js中单引号(')和双引号(")的使用以及转义的理解   这几天一直在画页面,身为开发人员的我之所以要画页面是因为当前项目中的页面上所有的东西都是从数据库中取得的,也就是动态的,类似于我们设计自己的个人QQ空间,但因为是大型平台,有自定义业务的概念 ,所有...
1367 0
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
233 2
|
10月前
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
156 1
JavaScript中的原型 保姆级文章一文搞懂
|
10月前
JS+CSS3文章内容背景黑白切换源码
JS+CSS3文章内容背景黑白切换源码是一款基于JS+CSS3制作的简单网页文章文字内容背景颜色黑白切换效果。
95 0
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
343 5
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的家政平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的家政平台附带文章源码部署视频讲解等
189 3
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
176 4
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的宠物交易平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的宠物交易平台附带文章源码部署视频讲解等
188 4
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的大学生入伍人员管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的大学生入伍人员管理系统附带文章源码部署视频讲解等
207 4
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp宿舍管理系统的附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp宿舍管理系统的附带文章源码部署视频讲解等
181 3