JavaScript

   


內建函數 (Built-in Function)


內建函數

除了自行編寫函數外, JavaScript 也有內建的函數, 一般來說, 這些函數與任何物件都無關聯, 因此又可稱為獨立函數 (Independent Function)。

內建函數 說明
escape(string) 傳回 string 的 16 進制編碼得出來的字串
eval(string) string 當作 JavaScript 的敘述來執行
isNaN(test_value) 檢查 test_value 是否"非數目"型態 (is Not a Number)
parseFloat(string) 傳回 string 轉成浮點小數後的數目
parseInt(string, base) 傳回 string 轉成 10 進制後的整數; basestring 的數制, 它是選擇性的參數, 如果不指定就把 string 當作 10 進制。
unescape(string) 傳回以 16 進制編碼字串的原本字串, 功能與 escape() 剛好相反
  1. escape(string)

    string 內的所有字元以 16 進制編碼, 格式是 %xx , 當中的 xx 就是字元的 ASCII 碼。 escape 主要用來在 URL 加入內容, 好像用 GET 方式送出表單, 也會用這種方式編碼。

    例子: escape

    運算式: escape("The_rain. In Spain, Ma'am")
    傳回值: "The_rain.%20In%20Spain%2C%20Ma%92am"

  2. eval(string)

    除了可以用來執行 string 外, 還可以用來傳回計算結果, 例如計算程式內變數的值, 這樣可以方便除錯。

    例子: eval

    <script>
    var js_statement = "alert('Using eval')";
    eval(js_statement);
    var num = 10;
    document.write("num = " + eval(num));
    </script>

  3. isNaN(test_value)

    例子: isNaN

    <script>
    var st = "This is a string";
    var num = 10;
    document.write("<br>st is not a number ? " + isNaN(st));
    document.write("<br>num is not a number ? " + isNaN(num));
    </script>

  4. parseFloat(string)

    如果 string 的第一個字元不是加號、減號或 0 至 9, 就會傳回 "NaN" ; 如果之後有字元不能轉成數目, 就會忽略該字元和之後的字元, 只將該字元之前的字元做轉換工作。

    例子: parseFloat

    <script>
    document.write("<br>" + parseFloat("3.14"));
    document.write("<br>" + parseFloat("314e-2"));
    document.write("<br>" + parseFloat("0.0314E+2"));
    document.write("<br>" + parseFloat("8FF"));
    document.write("<br>" + parseFloat("FF8"));
    document.write("<br>'FF8' is not a number ? " + isNaN("FF8"));
    </script>

  5. parseInt(string, base)

    例子:

    1. 以下所有運算式都會傳回 15:

      parseInt("F" , 16)
      parseInt("17" , 8)
      parseInt("15" , 10)
      parseInt("15")
      parseInt("15.99" , 10)
      parseInt("1111", 2)

    2. 以下所有運算式都會傳回 "NaN":

      parseInt("FF8", 8)   // 第一個字元不能轉換成數目
      parseInt("0x7", 10)  // 字串開頭有 "0x" 表示該字串是 16 進制, 但 base 卻指它是 10 進制
      parseInt("FFF", 10) // base 是 10, 但字串第一個字元不在是 0 至 9 之間

    3. 以下所有運算式都會傳回 17

      parseInt("0x11", 16)
      parseInt("0x11", 0)  // base 是 0 就會被忽略
      parseInt("0x11")

  6. unescape(string)

    例子: unescape

    運算式: unescape("The_rain.%20In%20Spain%2C%20Ma%92am")
    傳回值: "The_rain. In Spain, Ma'am"







[到頁頂] [首頁] [速查表]