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

常常會用到的截取字符串substr()、substring()、slice()方法詳解

 更新時間:2015年12月16日 08:55:30   投稿:hebedich  
javascript中給我們提供三個截取字符串的方法,分別是:slice(),substring()和substr()。下面我們對這三個函數(shù)進(jìn)行詳細(xì)說明和比較,需要的朋友可以參考下

slice()

定義:接受一個或者兩個參數(shù),第一個參數(shù)指定子字符串的開始位置。第二個參數(shù)表示子字符串的結(jié)束位置(不包括結(jié)束位置的那個字符),如果沒有傳遞第二個參數(shù),則將字符串的長度作為結(jié)束位置。

1、傳遞參數(shù)為正值情況:

var str ="helloWorld";

// 一個參數(shù),則將字符串長度作為結(jié)束位置
alert(str.slice(3)); // "loWorld"

// 兩個參數(shù),7位置上的字符為"r",但不包括結(jié)束位置的字符
alert(str.slice(3,7)); // "loWo"

2、傳遞參數(shù)為負(fù)值的情況:

slice()方法會將傳入的負(fù)值與字符串長度相加。

var str ="helloWorld";

// 一個參數(shù),與字符串長度相加即為slice(7)
alert(str.slice(-3)); // "rld"

// 兩個參數(shù),與字符串長度相加即為slice(3,6)
alert(str.slice(3,-4)); // "loW"

3、第二個參數(shù)比第一個參數(shù)值小的情況:

slice()方法傳入的第二個參數(shù)比第一個參數(shù)小的話,則返回空字符串。

var str ="helloWorld";
alert(str.slice(5,3)); // ""

4、IE兼容性

在IE8瀏覽器測試下,沒啥問題,行為與現(xiàn)代瀏覽器一致。

substring()

定義:接受一個或者兩個參數(shù),第一個參數(shù)指定子字符串的開始位置。第二個參數(shù)表示子字符串的結(jié)束位置(不包括結(jié)束位置的那個字符),如果沒有傳遞第二個參數(shù),則將字符串的長度作為結(jié)束位置。

1、傳遞參數(shù)為正值情況:與slice()方法行為相同的

var str ="helloWorld";

// 一個參數(shù),則將字符串長度作為結(jié)束位置
alert(str.substring(3)); // "loWorld"

// 兩個參數(shù),7位置上的字符為"r",但不包括結(jié)束位置的字符
alert(str.substring(3,7)); // "loWo"

2、傳遞參數(shù)為負(fù)值的情況:

substring()方法會把所有負(fù)值參數(shù)轉(zhuǎn)換為0。來看下例子:

var str ="helloWorld";

// 兩個參數(shù),-4會轉(zhuǎn)換為0,相當(dāng)于substring(3,0) -->即為 substring(0,3)
alert(str.substring(3,-4)); // "hel"

substring()方法會將較小的數(shù)作為開始位置,將較大的數(shù)作為結(jié)束位置。如上面的例子substring(3,0) 與substring(0,3)是一樣效果的。

4、IE兼容性

在IE8瀏覽器測試下,沒啥問題,行為與現(xiàn)代瀏覽器一致。

substr()

定義:接受一個或者兩個參數(shù),第一個參數(shù)指定子字符串的開始位置。第二個參數(shù)跟之前的方法有些區(qū)別,表示返回的字符個數(shù)。如果沒有傳遞第二個參數(shù),則將字符串的長度作為結(jié)束位置。來看例子:

1、傳遞參數(shù)為正值情況:

var str ="helloWorld";

// 一個參數(shù),則將字符串長度作為結(jié)束位置
alert(str.substr(3)); // "loWorld"

// 兩個參數(shù),從位置3開始截取后面7個字符
alert(str.substr(3,7)); // "loWorld"

2、傳遞參數(shù)為負(fù)值的情況:

substr()方法會將負(fù)的第一個參數(shù)加上字符串的長度,而將負(fù)的第二個參數(shù)轉(zhuǎn)換為0。

var str ="helloWorld";

// 將第一個負(fù)的參數(shù)加上字符串的長度--->
//即為:substr(7,5) ,從位置7開始向后截取5個字符
alert(str.substr(-3,5)); // "rld"

// 將第二個參數(shù)轉(zhuǎn)換為0
// 即為:substr(3,0),即從位置3截取0個字符串,則返回空
alert(str.substr(3,-2)); // ""

3、IE兼容性

substr()方法傳遞負(fù)值的情況下會存在問題,會返回原始的字符串。IE9修復(fù)了此問題。

總結(jié)

在傳遞正值參數(shù)情況下,slice() 和 substring () 行為是一致的,substr()方法在第二個參數(shù)上會容易混淆

在傳遞負(fù)值參數(shù)情況下,slice() 方法是通過字符串長度相加,符合一般思維,substring()第二個參數(shù)轉(zhuǎn)換為0會容易出問題,起始位置會容易變更,

substr() 方法負(fù)值情況下會出現(xiàn)IE兼容性問題。

綜上,小弟一般推薦使用slice()方法。

相關(guān)文章

  • Javascript里使用Dom操作Xml

    Javascript里使用Dom操作Xml

    Javascript里使用Dom操作Xml...
    2006-09-09
  • 微信小程序表單驗(yàn)證功能完整實(shí)例

    微信小程序表單驗(yàn)證功能完整實(shí)例

    這篇文章主要介紹了微信小程序表單驗(yàn)證功能,結(jié)合完整實(shí)例形式分析了微信小程序完成表單驗(yàn)證功能所涉及的視圖與邏輯操作技巧,需要的朋友可以參考下
    2017-12-12
  • 在webview中如何跳回小程序步驟詳解

    在webview中如何跳回小程序步驟詳解

    這篇文章主要介紹了在微信小程序中使用web-view組件嵌入網(wǎng)頁并實(shí)現(xiàn)從網(wǎng)頁跳回到小程序的步驟,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-01-01
  • js獲取當(dāng)前日期時間及其它操作匯總

    js獲取當(dāng)前日期時間及其它操作匯總

    Js獲取當(dāng)前日期時間及其它操作,還有一些自己常用的方法,很好用,也很全。這里推薦給大家,有需要的小伙伴可以參考下。
    2015-04-04
  • js中查找最近的共有祖先元素的實(shí)現(xiàn)代碼

    js中查找最近的共有祖先元素的實(shí)現(xiàn)代碼

    司徒正美給出的題,也嘗試著寫一下。希望大家多多交流。
    2010-12-12
  • fullCalendar日歷插件玩法示例解析

    fullCalendar日歷插件玩法示例解析

    這篇文章主要介紹了fullCalendar日歷插件玩法示例解析,包括Fullcalendar安裝,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-01-01
  • 微信小程序?qū)崿F(xiàn)一鍵登錄

    微信小程序?qū)崿F(xiàn)一鍵登錄

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)一鍵登錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 淺談Javascript中Object與Function對象

    淺談Javascript中Object與Function對象

    JavaScript的面向?qū)ο笫腔谠蔚模袑ο蠖加幸粭l屬于自己的原型鏈。Object與Function可能很多看Object instanceof Function , Function instanceof Object都為true而迷惑,所以首先看下對象的實(shí)例
    2015-09-09
  • layui框架table 數(shù)據(jù)表格的方法級渲染詳解

    layui框架table 數(shù)據(jù)表格的方法級渲染詳解

    今天小編就為大家分享一篇layui框架table 數(shù)據(jù)表格的方法級渲染詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Javascript中this關(guān)鍵字指向問題的測試與詳解

    Javascript中this關(guān)鍵字指向問題的測試與詳解

    this是Javascript中一個非常容易理解錯,進(jìn)而用錯的特性。所以下面這篇文章主要給大家介紹了關(guān)于Javascript中this關(guān)鍵字指向問題的相關(guān)資料,文中通過測試的題目考驗(yàn)大家對this的熟悉程度,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08

最新評論

汕尾市| 咸宁市| 礼泉县| 阳谷县| 武乡县| 宾阳县| 比如县| 台安县| 南乐县| 禹州市| 兴山县| 闽清县| 嘉鱼县| 辉县市| 青岛市| 云安县| 望谟县| 汉寿县| 明溪县| 朝阳区| 哈巴河县| 龙门县| 雅安市| 萨迦县| 会泽县| 惠东县| 东台市| 靖宇县| 林芝县| 阜南县| 调兵山市| 星座| 广河县| 洪雅县| 门头沟区| 冕宁县| 清河县| 若尔盖县| 安吉县| 亚东县| 无极县|