js技巧--轉(zhuǎn)義符"\"的妙用
更新時(shí)間:2007年01月09日 00:00:00 作者:
// blueDestiny, never-online // blueDestiny [at] 126.com
通常,我們在動(dòng)態(tài)給定一個(gè)container的innerHTML時(shí),通常是樣做的:
<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>
寫得習(xí)慣了的話,倒也不麻煩,但有沒有更簡單的一個(gè)方法呢?請看下面的例子:
<SCRIPT LANGUAGE="JavaScript">
var html='\
<table width="100%" border="0" cellspacing="0" cellpadding="0">\
<tr>\
<td> </td>\
</tr>\
<tr>\
<td> </td>\
</tr>\
</table>\
';
alert(html);
</SCRIPT>
是不是沒有這么麻煩了?但還是要有幾點(diǎn)注意,看下面的例子
<SCRIPT LANGUAGE="JavaScript">
//要用\'把單引號轉(zhuǎn)義
var html='\
<h1>\
javascript技巧\
</h1>\
<a href="javascript:;" onclick="alert(\'javascript\')">javascript轉(zhuǎn)義</a></font>\
<br/>\
power by \'blueDestiny, never-online\'\
';
alert(html);
</SCRIPT>
該轉(zhuǎn)義的地方還是得用"\"
'-------------------------------------------------------
' 原理:
'-------------------------------------------------------
這個(gè)是我自己的個(gè)人觀點(diǎn),如果有不對的地方,請指出:
還是看個(gè)例子:
<SCRIPT LANGUAGE="JavaScript">
//s1和s2的字符a前都有一個(gè)空格
s1='\
a';
s2=' a';
document.write("s1: " + s1.length + "\ns2: " + s2.length);
</SCRIPT>
輸出結(jié)果:
s1: 2 s2: 2
也就是說轉(zhuǎn)義符將回車轉(zhuǎn)義掉了!也就是說
再看個(gè)例子:
<SCRIPT LANGUAGE="JavaScript">
//下面這個(gè)字符串是有空格的,也就是這樣s1='\ 的。
s1='\
a';
document.write("s1: " + s1.length);
</SCRIPT>
輸出錯(cuò)誤,錯(cuò)誤提示:未結(jié)束字符串常量。
也就是說是多加了一個(gè)空格的原因。那再這樣試試
<SCRIPT LANGUAGE="JavaScript">
s1='\ \
a';
document.write("s1: " + s1.length);
</SCRIPT>
結(jié)果很明顯了,在字符串中,"\"轉(zhuǎn)義符可以將回車轉(zhuǎn)義掉(也就是回車符不存在了),但是不能將制表符,以及空格字符轉(zhuǎn)義(它們是存在的,上面的例子說明了這一點(diǎn))。
最后,給大家一個(gè)小tips,還記得上面的這個(gè)代碼嗎?
<SCRIPT LANGUAGE="JavaScript">
//要用\'把單引號轉(zhuǎn)義
var html='\
<h1>\
javascript技巧\
</h1>\
<a href="javascript:;" onclick="alert(\'javascript\')">javascript轉(zhuǎn)義</a></font>\
<br/>\
power by \'blueDestiny, never-online\'\
';
alert(html);
</SCRIPT>
仔細(xì)觀察彈出來的模態(tài)框,看看字符串是怎么樣的?應(yīng)該就會(huì)明白了。
通常,我們在動(dòng)態(tài)給定一個(gè)container的innerHTML時(shí),通常是樣做的:
<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>
寫得習(xí)慣了的話,倒也不麻煩,但有沒有更簡單的一個(gè)方法呢?請看下面的例子:
<SCRIPT LANGUAGE="JavaScript">
var html='\
<table width="100%" border="0" cellspacing="0" cellpadding="0">\
<tr>\
<td> </td>\
</tr>\
<tr>\
<td> </td>\
</tr>\
</table>\
';
alert(html);
</SCRIPT>
是不是沒有這么麻煩了?但還是要有幾點(diǎn)注意,看下面的例子
<SCRIPT LANGUAGE="JavaScript">
//要用\'把單引號轉(zhuǎn)義
var html='\
<h1>\
javascript技巧\
</h1>\
<a href="javascript:;" onclick="alert(\'javascript\')">javascript轉(zhuǎn)義</a></font>\
<br/>\
power by \'blueDestiny, never-online\'\
';
alert(html);
</SCRIPT>
該轉(zhuǎn)義的地方還是得用"\"
'-------------------------------------------------------
' 原理:
'-------------------------------------------------------
這個(gè)是我自己的個(gè)人觀點(diǎn),如果有不對的地方,請指出:
還是看個(gè)例子:
<SCRIPT LANGUAGE="JavaScript">
//s1和s2的字符a前都有一個(gè)空格
s1='\
a';
s2=' a';
document.write("s1: " + s1.length + "\ns2: " + s2.length);
</SCRIPT>
輸出結(jié)果:
s1: 2 s2: 2
也就是說轉(zhuǎn)義符將回車轉(zhuǎn)義掉了!也就是說
再看個(gè)例子:
<SCRIPT LANGUAGE="JavaScript">
//下面這個(gè)字符串是有空格的,也就是這樣s1='\ 的。
s1='\
a';
document.write("s1: " + s1.length);
</SCRIPT>
輸出錯(cuò)誤,錯(cuò)誤提示:未結(jié)束字符串常量。
也就是說是多加了一個(gè)空格的原因。那再這樣試試
<SCRIPT LANGUAGE="JavaScript">
s1='\ \
a';
document.write("s1: " + s1.length);
</SCRIPT>
結(jié)果很明顯了,在字符串中,"\"轉(zhuǎn)義符可以將回車轉(zhuǎn)義掉(也就是回車符不存在了),但是不能將制表符,以及空格字符轉(zhuǎn)義(它們是存在的,上面的例子說明了這一點(diǎn))。
最后,給大家一個(gè)小tips,還記得上面的這個(gè)代碼嗎?
<SCRIPT LANGUAGE="JavaScript">
//要用\'把單引號轉(zhuǎn)義
var html='\
<h1>\
javascript技巧\
</h1>\
<a href="javascript:;" onclick="alert(\'javascript\')">javascript轉(zhuǎn)義</a></font>\
<br/>\
power by \'blueDestiny, never-online\'\
';
alert(html);
</SCRIPT>
仔細(xì)觀察彈出來的模態(tài)框,看看字符串是怎么樣的?應(yīng)該就會(huì)明白了。
相關(guān)文章
微信瀏覽器左上角返回按鈕監(jiān)聽的實(shí)現(xiàn)
這篇文章主要介紹了微信瀏覽器左上角返回按鈕監(jiān)聽的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
JavaScript實(shí)現(xiàn)異步獲取表單數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)異步獲取表單數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05
Javascript在IE和FireFox中的不同表現(xiàn)簡析
本文將詳細(xì)介紹Javascript在IE和FireFox中的不同表現(xiàn),本人整理了一下,需要的朋友可以參考下2012-12-12
ES6中Proxy與Reflect實(shí)現(xiàn)重載(overload)的方法
這篇文章主要介紹了ES6中Proxy與Reflect實(shí)現(xiàn)重載(overload)的方法,分析了重載的原理及使用Proxy和Reflect來實(shí)現(xiàn)重載的操作步驟與相關(guān)技巧,需要的朋友可以參考下2017-03-03

