String型別知識點總結

2021-07-28 02:40:24 字數 2500 閱讀 4410

我們都知道js中的字串是一種基本型別值,從邏輯上講,基本型別值不是物件,不應當有屬性和方法,但是在日常應用中,我們仍然可以方便的呼叫字串的各種屬性和方法,這是為什麼呢?

其實,為了便於我們操作基本型別值,ecmascript還提供了三個特殊的引用型別:string boolean,number,這三個特殊的引用型別與其他引用型別相似,但也有自己的特殊之處。我們來看下面這個例子:

var s1="hello";

s1.slice(0);//"hello"

var s2=new

string("hello");

typeof(s1);// string

typeof(s2);//object

實際上,當我們呼叫一些方法時,基本型別值就在後台被臨時轉換為乙個物件並且表現的猶如乙個物件。從而讓我們能夠呼叫一些方法來操作這些資料。比如上例中,我們在第二行訪問s1時,後台就會自動完成以下處理。

建立string型別的乙個例項;var s1 = new string()

在例項上呼叫指定的方法;var s2 = s1.slice(0)

銷毀這個例項;s1=null

這也是基本包裝型別和引用型別最大的區別:物件的生存期。基本包裝型別物件的生存期只存在於一行**的執行瞬間。

當然,我們也可以顯示的呼叫基本包裝型別建立物件,就像上例中的s2,但我們不建議這麼做,因為這樣會讓人們分不清自己是在操作基本型別值還是引用型別值。

1.字元字面量

string資料型別包含一些特殊的字元字面量,也叫轉義序列,用來表示一些特殊用途的字元。

比如:\n換行 \t 製表 \r回車

字串是不可變的,也就是說,字串一旦建立,他們的值就不能改變,要改變某個變數的儲存的字串,首先要銷毀原來的字串,然後在用另乙個包含新值的字串填充該變數。

3.轉換為字串

要把乙個值轉換為乙個字串,有兩種方法。

第一種是使用tostring()方法,我們都知道,這個方法是object物件的原型中的方法,所以,除了null和undefined,所有的值都有這個方法。

多數情況下,呼叫這個方法不用傳遞引數,但是,在呼叫數值的tostring()方法時,可以傳遞乙個引數:輸出數值的基數。通過傳遞基數,可以輸出二進位制,十六進製制的等任意有效進製格式的字串值。

第二種是呼叫轉型函式string(),這個函式可以將任意型別的值轉換為字串,包括null和undefined。

1.字元方法——charat()和charcodeat()

用途:用於訪問字串中特定字元

引數:基於0的字元位置。

返回值:特定位置的字元或字元編碼。

2.字串拼接——concat()

用途:用於將乙個或多個字串拼接起來。

引數:任意多個要拼接的字串。

返回值:拼接後的新字串。

注意:因為使用「+」也能實現字串的拼接,而且更為方便,所以我們一般不使用concat()拼接字串。

3.基於子字串建立新字串——slice(),substr(),substring()

用途:獲取被操作字串的子字串。

引數:乙個或兩個。第乙個引數指定子字串的開始位置,第二個引數表示子字串在那裡結束。如果未指定第二個引數,則將字串長度作為結束位置。在substr()中,第二個引數表示返回的字元個數。

返回值:新的子字串。

注意:當傳入的引數為負數時:

slice():會將兩個負數都與字串的長度相加。

substr();會將第乙個負數與長度相加,第二個負數換成0.

substring();會將所有負數都換成0

4.字串位置方法——index()和lastindexof()

用途:返回給定字串位置

引數:乙個或兩個。第乙個引數為待查詢子字串(必選),第二個為開始查詢位置(可選)。

返回值:位置下標。如果沒找到,則返回-1.

5.trim()方法——刪除前置及字尾的所以空格。

6.分割字串——splite

用途:用於把乙個字串分割成字串陣列。

引數:乙個或兩個。第乙個:字串或正規表示式,從該引數指定的地方分割 (必須),第二個:可選。該引數可指定返回的陣列的最大長度。如果設定了該引數,返回的子串不會多於這個引數指定的陣列。如果沒有設定該引數,整個字串都會被分割,不考慮它的長度。

返回值:字串陣列

7.字串的模式匹配方法——match(),search(),replace(),split()

match()——找到乙個或多個正規表示式的匹配。返回值:存放匹配結果的陣列。該陣列的內容依賴於 regexp 是否具有全域性標誌 g。

search——用於檢索字串中指定的子字串,或檢索與正規表示式相匹配的子字串。返回值第乙個與 regexp 相匹配的子串的起始位置。如果沒有找到任何匹配的子串,則返回 -1。

replace()——用於在字串中用一些字元替換另一些字元,或替換乙個與正規表示式匹配的子串。返回值乙個新的字串,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之後得到的。

知識點備忘 String

substring 方法用於提取字串中介於兩個指定下標之間的字元 substring start,end 開始和結束的位置,從零開始的索引 引數 描述 start 必需。乙個非負的整數,規定要提取的子串的第乙個字元在 stringobject 中的位置。stop 可選。乙個非負的整數,比要提取的子串...

string的相關知識點

string是c 中的類,string是framework的類,c string 對映為 framework的 string。如果用string,編譯器會把它編譯成string。string為空的定義方法 1 string str null 只定義了乙個引用,未分配儲存空間。2 string str...

知識點總結

1,迴圈中的中斷 continue 跳出此次迴圈,繼續for迴圈 break 跳出當前for迴圈 return 跳出當前方法 2,字串的操作 componentseparatedbystring stringbyreplacingoccurencesofstring withstring iskin...