官术网_书友最值得收藏!

4.7 內(nèi)置函數(shù)

視頻講解

在使用JavaScript語言時,除了可以自定義函數(shù)之外,還可以使用JavaScript的內(nèi)置函數(shù),這些內(nèi)置函數(shù)是由JavaScript語言自身提供的函數(shù)。JavaScript中的一些主要內(nèi)置函數(shù)如表4.1所示。

表4.1 JavaScript中的一些內(nèi)置函數(shù)

下面將對這些內(nèi)置函數(shù)做詳細(xì)介紹。

4.7.1 數(shù)值處理函數(shù)
1.parseInt()函數(shù)

parseInt()函數(shù)主要將首位為數(shù)字的字符串轉(zhuǎn)換成數(shù)字,如果字符串不是以數(shù)字開頭,那么將返回NaN。

語法如下:

    parseInt(string,[n])

參數(shù)說明。

 string:需要轉(zhuǎn)換為整型的字符串。

 n:用于指出字符串中的數(shù)據(jù)是幾進(jìn)制的數(shù)據(jù)。這個參數(shù)在函數(shù)中不是必需的。

例如,將字符串轉(zhuǎn)換成數(shù)字的示例代碼如下:

    01  var str1="123abc";                        //定義字符串變量
    02  var str2="abc123";                        //定義字符串變量
    03  document.write(parseInt(str1)+"<br>");    //將字符串str1轉(zhuǎn)換成數(shù)字并輸出
    04  document.write(parseInt(str1,8)+"<br>");  //將字符串str1中的八進(jìn)制數(shù)字進(jìn)行輸出
    05  document.write(parseInt(str2));           //將字符串str2轉(zhuǎn)換成數(shù)字并輸出

運(yùn)行結(jié)果為:

    123
    83
    NaN
2.parseFloat()函數(shù)

parseFloat()函數(shù)主要將首位為數(shù)字的字符串轉(zhuǎn)換成浮點型數(shù)字,如果字符串不是以數(shù)字開頭,那么將返回NaN。

語法如下:

    parseFloat(string)

參數(shù)說明。

string:需要轉(zhuǎn)換為浮點型的字符串。

例如,將字符串轉(zhuǎn)換成浮點型數(shù)字的示例代碼如下:

    01  var str1="123.456abc";                    //定義字符串變量
    02  var str2="abc123.456";                    //定義字符串變量
    03  document.write(parseFloat(str1)+"<br>");  //將字符串str1轉(zhuǎn)換成浮點數(shù)并輸出
    04  document.write(parseFloat(str2));         //將字符串str2轉(zhuǎn)換成浮點數(shù)并輸出

運(yùn)行結(jié)果為:

    123.456
    NaN
3.isNaN()函數(shù)

isNaN()函數(shù)主要用于檢驗?zāi)硞€值是否為NaN。

語法如下:

    isNaN(num)

參數(shù)說明。

num:需要驗證的數(shù)字。

說明

如果參數(shù)num為NaN,函數(shù)返回值為true;如果參數(shù)num不是NaN,函數(shù)返回值為false。

例如,判斷其參數(shù)是否為NaN的示例代碼如下:

    01  var num1=123;                        //定義數(shù)值型變量
    02  var num2="123abc";                   //定義字符串變量
    03  document.write(isNaN(num1)+"<br>");  //判斷變量num1的值是否為NaN并輸出結(jié)果
    04  document.write(isNaN(num2));         //判斷變量num2的值是否為NaN并輸出結(jié)果

運(yùn)行結(jié)果為:

    false
    true
4.isFinite()函數(shù)

isFinite()函數(shù)主要用于檢驗其參數(shù)是否有限。

語法如下:

    isFinite(num)

參數(shù)說明。

num:需要驗證的數(shù)字。

說明

如果參數(shù)num是有限數(shù)字(或可轉(zhuǎn)換為有限數(shù)字),函數(shù)返回值為true;如果參數(shù)num是NaN或無窮大,函數(shù)返回值為false。

例如,判斷其參數(shù)是否為有限的示例代碼如下:

    01  document.write(isFinite(123)+"<br>");        //判斷數(shù)值123是否為有限并輸出結(jié)果
    02  document.write(isFinite("123abc")+"<br>");  //判斷字符串"123abc"是否為有限并輸出結(jié)果
    03  document.write(isFinite(1/0));               //判斷1/0的結(jié)果是否為有限并輸出結(jié)果

運(yùn)行結(jié)果為:

    true
    false
    false
4.7.2 字符串處理函數(shù)
1.eval()函數(shù)

eval()函數(shù)的功能是計算字符串表達(dá)式的值,并執(zhí)行其中的JavaScript代碼。

語法如下:

    eval(string)

參數(shù)說明。

string:需要計算的字符串,其中含有要計算的表達(dá)式或要執(zhí)行的語句。

例如,應(yīng)用eval()函數(shù)計算字符串的示例代碼如下:

    01  document.write(eval("3+6"));           //計算表達(dá)式的值并輸出結(jié)果
    02  document.write("<br>");               //輸出換行標(biāo)簽
    03  eval("x=5;y=6;document.write(x*y)");   //執(zhí)行代碼并輸出結(jié)果

運(yùn)行結(jié)果為:

    9
    30
2.encodeURI()函數(shù)

encodeURI()函數(shù)主要用于將URI字符串進(jìn)行編碼。

語法如下:

    encodeURI(url)

參數(shù)說明。

url:需要編碼的URI字符串。

說明

URI與URL都可以表示網(wǎng)絡(luò)資源地址,URI比URL表示范圍更加廣泛,但在一般情況下,URI與URL可以是等同的。encodeURI()函數(shù)只對字符串中有意義的字符進(jìn)行轉(zhuǎn)義。例如將字符串中的空格轉(zhuǎn)換為“%20”。

例如,應(yīng)用encodeURI()函數(shù)對URI字符串進(jìn)行編碼的示例代碼如下:

    01  var URI="http://127.0.0.1/save.html?name=測試";  //定義URI字符串
    02  document.write(encodeURI(URI));                  //對URI字符串進(jìn)行編碼并輸出

運(yùn)行結(jié)果為:

    http://127.0.0.1/save.html?name=%E6%B5%8B%E8%AF%95
3.decodeURI()函數(shù)

decodeURI()函數(shù)主要用于對已編碼的URI字符串進(jìn)行解碼。

語法如下:

    decodeURI(url)

參數(shù)說明。

url:需要解碼的URI字符串。

說明

此函數(shù)可以將使用encodeURI()函數(shù)轉(zhuǎn)碼的網(wǎng)絡(luò)資源地址轉(zhuǎn)換為字符串并返回,也就是說,decodeURI()函數(shù)是encodeURI()函數(shù)的逆向操作。

例如,應(yīng)用decodeURI()函數(shù)對URI字符串進(jìn)行解碼的示例代碼如下:

    01  var URI=encodeURI("http://127.0.0.1/save.html?name=測試"); //對URI字符串進(jìn)行編碼
    02  document.write(decodeURI(URI));                          //對編碼后的URI字符串進(jìn)行解碼并輸出

運(yùn)行結(jié)果為:

    http://127.0.0.1/save.html?name=測試
主站蜘蛛池模板: 昌图县| 元谋县| 镇赉县| 萨迦县| 南陵县| 安平县| 綦江县| 元朗区| 杨浦区| 昌宁县| 罗平县| 平南县| 旬阳县| 阳东县| 济宁市| 黄陵县| 保康县| 拜泉县| 健康| 内丘县| 永宁县| 靖远县| 略阳县| 滁州市| 汾西县| 华阴市| 金寨县| 新丰县| 交城县| 民权县| 正镶白旗| 望城县| 澄江县| 武邑县| 城固县| 衡水市| 巴东县| 玉树县| 化州市| 酒泉市| 大宁县|