js字符串方法總結

String是基本數據類型,同時也是基本包裝類型。從常規上講基本類型不該該有方法,爲了讓咱們實現更直觀的操做,在調用基本包裝類型的方法時,後臺會自動完成一系列的處理:
(1)建立String類型的一個實例
(2)在實例上調用指定的方法
(3)銷燬這個實例javascript

var s1 = "abc"
s2 = s1.substring(2)
複製代碼

至關於執行了如下代碼:java

var s1 = new String('abc')
var s2 = s1.substring(2)
s1 = null
複製代碼

引用類型和基本包裝類型的區別

  主要的區別就是對象的生存期,使用 new 操做符建立的引用類型的實例,在執行流離開當前做用域以前都一直保存在內存中。而自動建立的基本包裝類型的對象,只存在於一行代碼的執行瞬間,而後被當即銷燬,因此咱們不能在代碼運行的時候給基本類型之添加屬性和方法正則表達式

var str1 = '123';
console.log(typeof str1) //string

var str2 = new String('aaa')
console.log(typeof str2) //object

var str3 = new Object('111')
console.log(typeof str3) //object
console.log(str3 instanceof String) //true
console.log(str3 instanceof Object) //true
複製代碼

字符串經常使用方法

var str="hello world";

str.charAt(1) //e 返回給定位置的字符
str.charcodeAt(1) //101 返回給定位置字符的字符編碼
str[1] //e ie8+

cancat() //能夠接受任意多個參數拼接成新的字符串,但不會改變原字符串

slice() //截取字符串,接受一或兩個參數(開始位置和結束位置),接受負值時會將負值與字符串長度相加
substring() //截取字符串,接受一或兩個參數(開始位置和結束位置,會將較小的參數做爲起始位置),接受負值時會將負的參數轉換爲零
substr() //截取字符串,接受一或兩個參數(開始位置和截取的字符個數),接受負值時會將第一個負的參數加上字符串長度,將第二個負的參數轉換爲0
indexOf() //可接受兩個參數,要查找的子字符串和查找起點(可選),找到返回位置,找不到返回-1
lastIndexOf() //從數組的末尾開始查找
trim() //刪除前置和後綴的空格 返回的是字符串的副本,原始字符串不變

toLowerCase() //轉小寫
toUpperCase() //轉大寫
toLocaleLowerCase() //轉小寫,針對地區的方法
toLocaleUpperCase() //轉大寫,針對地區的方法

match() //接收一個參數,正則表達式或者RegExp對象
search() //接受一個正則,返回字符串中第一個匹配項的索引,沒有返回-1
replace() //替換字符串。接受兩個參數,第一個是一個字符串或者RegExp對象,
            //第二個參數是一個字符串或者函數。若是第一個參數是一個字符串,
            //那麼只會替換第一個子字符串,要想替換全部惟一的方法就是提供一個
            //正則表達式,指定全局g標誌
            //replace()方法的第二個參數也能夠是一個函數
            function(match,...,pos,originalText){
                match //模式的匹配項
                ... //正則表達式定義了多個捕獲組的狀況下,是第二,三...匹配項
                pos //模式的匹配項在字符串中的位置
                originalText //原始字符串
            }
split() //分割字符串,並返回一個數組。第一個參數接受一個分隔符(能夠是字符串或者RegExp對象),
        //可選的第二個參數用於指定返回數組的大小
localeCompare() //比較兩個字符串,若是字符串在字母表中應該排在字符串參數以前,返回一個負數。相等返回0,以後返回正數
String.fromCharcode() //構造函數自己的靜態方法,接收一個或多個字符編碼,轉換成字符串,與charCodeAt相反

複製代碼
相關文章
相關標籤/搜索