JavaScript的系統函數研究
更新時間:2012-01-16 | 發布人:本站 | 點擊率:397 次
1.編碼處理函數
1) encodeURI
返回一個對URI字符串編碼后的結果。URL是最常見的一種URI;
2) decodeURI
將一個已編碼的URI字符串解碼成最原始的字符串返回;
3) 舉例:
<Script language = " javascript ">
<!--
var encodeStr = encodeURI( "http://www.qpsh.com/seach.asp?k=網頁特效" );
alert( " encodeStr: " + encodeStr);
var decodeStr = decodeURI(encodeStr);
alert( " decodeStr: " + decodeStr);
// -->
</script> 輸出結果如下:
encodeStr: http://www.qpsh.com/seach.asp?k=%E9%98%BF%E8%9C%9C%E6%9E%9C
decodeStr: http://www.qpsh.com/seach.asp?k=網頁特效
2. 數值處理函數
1) parseInt
將一個字符串指定的進制轉換為一個整數,語法格式為:
parseInt(numString, [radix])
第一個參數是要進行轉換的字符串,是介于2到36之間的數值,用于指定進行字符串轉換時所用的進制。
舉例如下: <Script language="javascript">
<!--
//下面是同一個數用不同進制表示時在默認情況下的舉例
document.write("默認情況下的結果:");
document.write("32:"+parseInt('32'));
document.write(";032:"+parseInt('032'));
document.write(";0x32:"+parseInt('0x32')+"<br>");
//下面是同一個數用不同進制表示時在轉為2進制的舉例
document.write("轉為2進制的結果:");
document.write("32:"+parseInt('32',2));
document.write(";032:"+parseInt('032',2));
document.write(";0x32:"+parseInt('0x32',2)+"<br>");
//下面是同一個數用不同進制表示時在轉為8進制的舉例
document.write("轉為8進制的結果:");
document.write("32:"+parseInt('32',8));
document.write(";032:"+parseInt('032',8));
document.write(";0x32:"+parseInt('0x32',8)+"<br>");
//下面是同一個數用不同進制表示時在轉為16進制的舉例
document.write("轉為16進制的結果:");
document.write("32:"+parseInt('32',16));
document.write(";032:"+parseInt('032',16));
document.write(";0x32:"+parseInt('0x32',16)+"<p>");
//下面是對一個2進制數轉換為不同進制的舉例
document.write("11001010轉換后的結果: "+"<br>");
document.write("2進制:"+parseInt('11001010',2));
document.write(";16進制:"+parseInt('11001010',16)+"<br>");
document.write("8進制:"+parseInt('11001010',8));
document.write(";10進制:"+parseInt('11001010',10));
//下面是對不全是數字情況下轉換的舉例
document.write("<p>43abc轉換后:"+parseInt('43abc'));
document.write(";abc43轉換后:"+parseInt('abc43'));
document.write(";abc轉換后:"+parseInt('abc'));
//-->
</script> 輸出結果如下:
默認情況下的結果:32:32;032:26;0x32:50
轉為2進制的結果:32:NaN;032:0;0x32:0
轉為8進制的結果:32:26;032:26;0x32:0
轉為16進制的結果:32:50;032:50;0x32:50
11001010轉換后的結果:
2進制:202;16進制:285216784
8進制:2359816;10進制:11001010
43abc轉換后:43;abc43轉換后:NaN;abc轉換后:NaN
2) parseFloat方法
該方法將一個字符串轉換成對應的小數。
eg.
<Script language="javascript">
<!--
var floatStr = "4.1";
alert((floatStr + 1) + "\n");
alert(parseFloat(floatStr) + 1);
//-->
</script> 輸出結果如下:
4.11
5.1
3) isNaN方法
該方法用于檢測前兩個方法返回值是否為非數值型,如果是,返回true,否則,反回false。
eg.
<Script language="javascript">
<!--
var loginName = parseInt('amigo1121');
if(isNaN(loginName)) {
//如果loginName不是數值,執行如下語句
alert("parseInt('amigo1121')的結果是: " + loginName);
} else {
alert("parseInt('amigo1121')的結果是數值!");
}
//-->
</script> 輸出結果如下:
parseInt('amigo1121')的結果是: NaN
3 字符串編碼處理函數
1) escape方法
該方法返回對一個字符串編碼后的結果字符串,所有空格, 標點, 重音符號以及任何其他非ASCII碼字符都用%xx編碼替換,其中xx等于表示該字符的Unicode編碼的十六進制數.空格返回為"%20", 字符值大于255的字符以%xxxx格式存儲.
eg. <Script language="javascript">
<!--
var test = escape("am ^_^ igo");
alert("am ^_^ igo經escape方法處理后為: " + test);
//-->
</script> 輸出為: am ^_^ igo經escape方法處理后為: am%20%5E_%5E%20igo
2) unescape方法
該方法將一個用escape方法編碼的結果字符串解碼成原始字符串.
eg. <Script language="javascript">
<!--
var test = escape("am ^_^ igo");
var unescapeStr = unescape(test);
alert("unescapeStr: " + unescapeStr);
//-->
</script> 輸出結果為: am ^_^ igo
3) eval方法
該方法將某個參數字符串作為一個JavaScript執行.