JS基礎—String型別
1、物件建立
String型別是字串的物件包裝型別,可以像下面這樣使用String建構函式來建立。
var stringObject = new String("hello world");
String物件的方法也可以在所有基本的字串值中訪問到。其中,繼承的valueOf()、toLocaleString()和toString()方法,都返回物件所表示的基本字串值。
String型別的每個例項都有一個
length
屬性,表示字串中包含多少個字元。
2、字元方法
兩個用於訪問字串中特定字元的方法是:charAt()和charCodeAt()。這兩個方法都接收一個引數,即基於0的字元位置。
charAt()
方法以單字元字串的形式返回給定位置的那個字元;
charCodeAt()
方法以單字元字串的形式返回給定位置的那個字元的字元編碼;
var stringValue = "hello world";
alert(stringValue.charAt(1)); //"e"
alert(stringValue.charCodeAt(1)); //"101"
3、字串操作方法
concat()
,用於將一個或者多個字串拼接起來,返回拼接得到的新字串。concat()方法可以接收任意多個引數,可以通過它拼接任意多個字串。
var stringValue = "hello ";
var result = stringValue.concat("world","!");
alert(result); //"hello world!"
slice
(指定字串的開始位置,結束位置)//第二個引數就是子字串最後一個字元後面的位置
substr
(指定字串的開始位置,返回的字元個數);
substring
(指定字串的開始位置,結束位置);
var stringValue = "hello world";
alertr(stringValue.slice(3,7));//"lo w"
alert(stringValue.substring(3,7));//"lo w"
alert(stringValue.substr(3,7));//"lo worl"
在傳遞給這些方法的引數是負數的情況下:
(1)slice()方法會將傳入的負值與字串的長度相加;
(2)substr()方法將負的第一個引數加上字串的長度,而將負的第二個引數轉換為0;
(3)substring()方法會把所有的複製引數都轉換為0。
4、字串位置方法
從字串中查詢子字串的方法:indexOf()和lastIndexOf()。從一個字串中搜索給定的子字串,然後返回子字串的位置(若沒有找到該子字串,則返回-1);
indexOf()
方法從字串的開頭向後搜尋子字串;
lastIndexOf()
方法是從字串的末尾向前搜尋子字串;
這兩個方法都可以接收可選的第二個引數,表示從字串中的哪個位置開始搜尋。
5、trim()方法
trim()
方法會建立一個字串的副本,刪除前置及字尾的所有空格,然後返回結果;
trimLeft()
和
trimRight()
方法,分別用於刪除字串開頭和末尾的空格。
6、字串大小寫轉換方法
toLowerCase()、toLocaleLowerCase()、toUpperCase()、toLocaleUpperCase();
toLocaleLowerCase()和toLocaleUpperCase()則是針對特定地區的實現。
7、字串的模式匹配方法
(1)
match()
,它只接收一個引數,要麼是一個正則表示式,要麼是一個RegExp物件
(2)
search()
:它只接收一個引數,要麼是一個正則表示式,要麼是一個RegExp物件。該方法返回字串中第一個匹配項的索引;search()方法始終是從字串開頭向後查詢模式。
var text = "cat, bat, sat, fat";
var pos = text.search(/at/);
alert(pos); //1
(3)
replace()
:接收兩個引數,第一個引數可以是一個RegExp物件或者一個字串,第二個引數可以是一個字串或者一個函式。如果第一個引數是字串,那麼只會替換第一個子字串。要想替換所有的子字串,唯一的辦法就是提供一個正則表示式,而且要指定全域性(g)標誌。
var text = "cat, bat, sat, fat";
var result = text.replace("at","ond");
alert(result);//"cond, bat, sat, fat"
result = text.replace(/at/g, "ond");
alert(result);//"cond, bond, sond, fond"
(4)
split()
可以基於指定的分隔符將一個字串分割成多個子字串,並將結果放在一個數組中(將字串轉換為陣列)。分隔符可以是字串,也可以是一個RegExp物件。它還可以接受可選的第二個引數,用於指定陣列的大小,一遍確保返回的陣列不會超過既定大小。
var colorText = "red,blue,green,yellow";
var colors1 = colorText.split(",",2);//["red","blue"]
8、localeCompare()方法
localeCompare()
方法用於比較兩個字串,並返回下列值中的一個:
(1)如果字串在字母表中應該排在字串引數之前,則返回一個負數;
(2)如果字串等於字串引數,則返回0 ;
(3)如果字串在字母表中應該排列在字串引數之後,則返回一個正數。
var stringValue = "yellow";
alert(stringValue.localeCompare("brick")); //1
alert(stringValue.localeCompare("yellow")); //0
alert(stringValue.localeCompare("zoo")); //-1
9、fromCharCode()方法
fromCharCode()
方法的任務是接收一或多個字元編碼,然後將它們轉換成一個字串,該方法與charCodeAt()執行的是相反操作。
10、HTML方法
P130