最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript中String類的subString()方法和slice()方法

 更新時(shí)間:2011年05月24日 23:45:06   作者:  
最近在看《Javascript高級程序設(shè)計(jì)》一書,在書中發(fā)現(xiàn)一些以前沒有接觸過的且比較實(shí)用的技巧和知識點(diǎn),想通過博客記錄一下,以加深記憶。
在該書2.8.4節(jié)中講到String類中的subString()方法和slice()方法,其用法和返回結(jié)果都基本相同,如下示例:
復(fù)制代碼 代碼如下:

var strObj = new String("hello world");
alert(strObj.slice(3));   // 輸出結(jié)果:"ol world"
alert(strObj.subString(3));   // 輸出結(jié)果:"ol world"
alert(strObj.slice(3, 7)); // 輸出結(jié)果:"lo w"
alert(strObj.subString(3,7)); // 輸出結(jié)果:"lo w"

由以上代碼的輸出結(jié)果可已看出,slice()方法和subString()方調(diào)用方法法和輸出結(jié)果完全一樣,這兩種方法返回的都是要處理的字符串的子串,都接受一個(gè)或兩個(gè)參數(shù),第一個(gè)參數(shù)是要獲取的子串的起始位置,第二個(gè)參數(shù)是要獲取子串的終止位置,如果第二個(gè)參數(shù)省略終止位置就默認(rèn)為字符串的長度,且兩個(gè)方法都不改變String對象自身的值。

為什么有兩個(gè)功能完全相同的方法呢?事實(shí)上,這兩個(gè)方法并不完全相同,不過只在參數(shù)為負(fù)值時(shí),他們處理參數(shù)的方式稍有不同。

對于負(fù)數(shù)參數(shù),slice()方法會用字符串的長度加上參數(shù),subString()方法將其作為0處理,例如:
復(fù)制代碼 代碼如下:

var strObj = new String("hello world");
alert(strObj.slice(-3));      // 輸出結(jié)果:"rld"
alert(strObj.subString(-3));    // 輸出結(jié)果:"hello world"
alert(strObj.slice(3,-4));     // 輸出結(jié)果:"lo w"
alert(strObj.subString(3,-4))   // 輸出結(jié)果:"hel"

這樣既可看到slice()和subString()方法的主要不同。當(dāng)只有參數(shù)-3時(shí),slice()返回"rld",subString()則返回"hello world"。這是因?yàn)閷τ谧址?hello world",slice(-3)將被轉(zhuǎn)換成slice(8),而subString(-3)則轉(zhuǎn)化成subString(0)。同樣,使用3和-4差別也是很明顯。slice()方法將被轉(zhuǎn)換成slice(3,7),與前面的例子相同,返回"lo w"。而subString()方法則將這個(gè)兩個(gè)參數(shù)解釋為subString(0,3),實(shí)際上是:subString(0,3),因?yàn)閟ubString()總是把較小的參數(shù)作為起始位,較大的數(shù)字最為終止位。

相關(guān)文章

最新評論

文水县| 黄石市| 佛教| 南召县| 兰州市| 县级市| 精河县| 沁水县| 仁布县| 逊克县| 日喀则市| 集贤县| 东兰县| 綦江县| 上饶市| 菏泽市| 江安县| 桓台县| 吴川市| 绍兴市| 广汉市| 曲水县| 梅河口市| 大竹县| 峨边| 云和县| 江口县| 会宁县| 新兴县| 古浪县| 宜昌市| 奉贤区| 固原市| 自治县| 广东省| 大关县| 新泰市| 博兴县| 白水县| 烟台市| 黔西县|