## 一、eval()函數:用于將表達式轉換為一個變量名或者對象名。
~~~
var x3 = "good";
var x = 3;
var y = eval("x"+x);//獲得變量x3,即y=x3
alert(y);
~~~
運行結果:

傳入的string參數不能缺少,否則出錯;eval()函數會執行string中包含的JS代碼。
## 二、轉義函數
2.1 ? ?escape()和unescape()函數:前者以字符串為參數,并以URL格式進行編碼。所有空格、標點、重音符以及其他非ASCII字符杜都用%xx十六進制序列編碼代替,例如,空格以%20代替;unescape()則相反,將URL轉為字符串。
~~~
document.write("編碼前:Hello {[World]}<br/>");
var str1 = escape("Hello {[World]}");
document.write("escape()編碼:");
document.write(str1+"<br/>");
document.write("unescape()解碼:");
~~~
~~~
document.write(unescape(str1)+"<br/>");
~~~
運行結果
;
escape()和unescape()處理非ASCII字符會出錯,不能用于對Unicode字符編碼,已不推薦使用,可以用encodeURI()和decodeURI()代替。
2.2encodeURI()和decodeURI():前者將文本字符串編碼為一個有效的統一資源標示符(URI)。后者則將URI轉為原始的字符串。
不能用encode()處理的字符:;、,、/、?、:、@、&、=、+、$、英文字母、數字、-、_、.、!、~、*、‘、(、)、#,此函數也不能獨自形成HTTP GET或者POST請求,因為&、+、=都不會被編碼,若要向服務器發送數據,可以用encodeURIComponent()和decodeURIComponent()
2.3 ? ?encodeURIComponent()和decodeURIComponent():跟encodeURI()和decodeURI()一樣的功能,但是encodeURIComponent()可以用來發送HTTP GET或者POST請求。encodeURIComponent()不能轉義的字符有:英文字母、數字、-、_、.、!、~、*、‘、(、)
## 三、轉換函數:
3.1 ? ?parseFloat():將字符串轉為浮點數,并返回字符串中的數字,知道非數字部分。若字符串不是以數字開始,則返回NaN,有效整數前面的空白和其后的非數字部分被忽略。
ex:parseFloat("-2")==>返回-2;parseFloat("123.78ad")==>返回123.78;parseFloat("df123ad")==>f返回NaN;parseFloat("123.6765.435")==》返回123.6765
3.2 ??parseInt(string,[radix]):將字符串轉為整數,若不能轉換則返回NaN,radix為可選參數,規定以radix進制返回,合法值是2~36。有效整數前面的空白和其后的非數字部分被忽略。
ex:parseInt("3.5")==>返回3;parseInt("f")==>返回NaN
## 四、判斷函數
4.1 ??isFinite():查看某個數字是否是有限數,是則返回true,反之返回false;
4.2 ??isNaN():查看某個數字是否為數字,不是則返回true,反之返回false.
- 前言
- 一
- 二:變量
- 三:數據運算
- 四:流程控制
- 五:內建的全局函數
- 六:自定義函數
- 七:面向對象編程(OOP)
- 八:靜態成員、靜態類、枚舉、重載和覆蓋
- 九:原型鏈本質論
- 十:ECMAScript 5 增強的對象模型
- 十一:處理字符串---String類和正則表達式
- 十二:數組、多維數組和符合數組(哈希映射)
- 十三:處理日期和時間
- 十四:JavaScript內建類
- 十五:BOM之源---window對象
- 十六:BOM之源---BOM基本應用
- 十七:BOM新成就(1)--客戶端存儲數據(Storage實現)
- 十八:BOM新成就(1)--客戶端存儲數據(Web SQL DataBase實現)
- 十九--HTML5 DOM新標準---處理文檔元信息和管理交互能力
- 二十---XMLHttpRequest和AJAX解決方案