下面是详细介绍:
Js中escape(),encodeURI()和encodeURIComponent()使用和比较:
escape方法以Unicode格式返回一个包含传入参数内容的string类型的值。 Escape方法会将传入参数中所有的空格、标点符号、重音字符以及其它任何非ASCII字符替换为%xx的编码形式,其中xx与其所表示的字符的16进制数表示形式相同。如空格字符的16进制表示形式为0x20,则此时xx应为20,即escape(‘ ’) 返回“%20”。
escape和unescape方法能够帮助你编码和解码字符串。escape方法对于ISO Latin字符集中的字符组成的参数,返回其16进制编码。相对应的,unescape方法则能将16进制编码形式的参数转化成为其ASCII码形式。
encodeURI方法返回一个经过编码的URI。如果将encodeURI方法的编码结果传递给decodeURI方法作参数,则能得到原始的未编码的字符串。需要注意到是encodeURI方法不编码如下字符":", "/", "", and "?"。如果想要编码这些字符,请使用encodeURIComponent方法。
encodeURIComponent方法返回一个编码过的URI。如果将encodeURIComponent方法的编码结果传递给encodeURIComponent方法作参数,则能得到原始的未编码的字符串。因为encodeURIComponent方法会编码所有的字符,所以如果待编码的字符串是用来表示一个路径(如/dir1/dir2/index.htm)时,就一定要小心使用了。‘/’符号会被其编码之后,将不再是一个有效的路径标识符,所以不能被web服务器正确地识别。当字符串包含一个单独的URI component(指?后面的请求参数)的时候,请使用此方法。
escape()不编码的字符:@*/+
encodeURI() 不编码的字符:~!@#$&*()=:/,?+"
encodeURIComponent()不编码的字符: ~!*()''
这个要看你在什么地方应用了,如果是网页中,js是不能读取到本地文件的,只能访问同域的文件比如www.baidu.com中的js代码就只能访问baidu域名下的文件.
如果是用ie在本地打开html文件中的js,把安全性调低一点是可以访问本地文件的。
可以用fso读文件,也可以用adodb.stream读文件.
还可以用wscript或cscript解释执行js文件,这个就是把js当作脚本来使用,和vbs是一个道理.
<script type="text/javascript">$(document).ready(function(){-------页面加载完毕
$("#btnAddType").click(function(){--------给页面元素 id=btnAddType的 添加一个click事件的侦听
CreateParent_IframeDialog("添加类型", "Manage/Question/QuestionTypeDetail.aspx", 640, 260)---打开一个dialog的页面长宽已经给出 连接按钮是 添加类型 页面是Manage/Question/QuestionTypeDetail.aspx
})
RepeaterListEvent("cb_Head","cb_Sub","QList")------在repeater控件上 添加cb_Head,cb_Sub,QList事件。这些事件是后台自己定义的;
})
</script>