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

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

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

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

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

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

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

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

這樣既可看到slice()和subString()方法的主要不同。當只有參數(shù)-3時,slice()返回"rld",subString()則返回"hello world"。這是因為對于字符串"hello world",slice(-3)將被轉換成slice(8),而subString(-3)則轉化成subString(0)。同樣,使用3和-4差別也是很明顯。slice()方法將被轉換成slice(3,7),與前面的例子相同,返回"lo w"。而subString()方法則將這個兩個參數(shù)解釋為subString(0,3),實際上是:subString(0,3),因為subString()總是把較小的參數(shù)作為起始位,較大的數(shù)字最為終止位。

相關文章

最新評論

厦门市| 罗田县| 平江县| 肥乡县| 锡林浩特市| 铁岭市| 句容市| 津市市| 武陟县| 长兴县| 涿鹿县| 于田县| 金川县| 巴南区| 金乡县| 喜德县| 盐城市| 准格尔旗| 呼伦贝尔市| 滨海县| 沙田区| 教育| 随州市| 新巴尔虎右旗| 海门市| 井研县| 杭锦后旗| 双流县| 南开区| 台山市| 米泉市| 逊克县| 内黄县| 水富县| 阿瓦提县| 隆昌县| 台东县| 成武县| 安顺市| 五台县| 伊川县|