1.字符串:一堆字符組成的簡單的數(shù)據(jù)集合。
定義:
單引號定義
雙引號定義
- 沒有太大的區(qū)別,在js里面引號里面是不能解析變量的。
eg:
<script>
var a = 111;
var str = 'hhhh {a} hhhh';
console.log(str);
var str = "hhhh {a} hhhh";
console.log(str);
</script>
- 單引號里面可以包含雙引號,雙引號可以包含單引號。
但是單引號里面如果想要包含單引號,就需要轉(zhuǎn)義字符轉(zhuǎn)義里面的單引號。
eg:
<script>
// var str = 'la"l"a"la';
// var str = "la'la'l'a"
var str = 'la\nl\\a\'la';
console.log(str);
</script>
常見的轉(zhuǎn)義字符:
\0:null(\u0000)
\b:后退鍵(\u0008)
\f:換頁符(\u000C)
\n:換行符(\u000A)
\r:回車鍵(\u000D)
\t:制表符(\u0009)
\v:垂直制表符(\u000B)
':單引號(\u0027)
":雙引號(\u0022)
\:反斜杠(\u005C)字符串的拼接:+
字符串的加法就是字符串的拼接。只要加號兩邊有一個是字符串,那么運行的就是字符串的拼接。
2.字符串與數(shù)組的關(guān)系
字符串也可以使用下標的方式獲取出對應(yīng)位置的字符。
eg:
<script>
var str = 'gsdnkashgnua';
// str.length = 3;
str[0] = 'h';
console.log(str);
console.log(str.length);
</script>
字符串與數(shù)組的相似也只有這個下標還有l(wèi)ength。
- length:字符串的長度。
字符串的length是一個固定的值,不是動態(tài)變化的。對 length進行的操作都不影響字符串。對字符串的下標進行的修改也是不生效的。
數(shù)組轉(zhuǎn)化為字符串:join
eg:
<script>
var a = ['a','v','ddd','w','ads'];
console.log(a.join("aaas"));
var str = 'ahdsunaskldsa';
console.log(str.split('a'));
</script>
字符串拆分為數(shù)組:split
eg:
<script>
var a = ['a','v','ddd','w','ads'];
console.log(a.join("aaas"));
var str = 'ahdsunaskldsa';
console.log(str.split('a'));
</script>
- replace:替換,默認替換第一個符合條件的字符串或者字符。
如何全局替換:使用/g表達全局替換。
例如:/jh/g
eg:
<script>
var str = 'adjhskhgualsjdhna';
console.log(str);
console.log(str.replace(/jh/g,'m'));
</script>
- indexOf:查找某個字符或者字符串所在字符串中的位置。返回的是第一個符合條件的起始位置。如果找不到返回條件就返回-1。
eg:
<script>
var str ='sahuhdsa';
console.log(str.indexOf(5)); //-1
console.log(str.indexOf('d')); //5
console.log(str.indexOf('ah')); //1
console.log(str.lastIndexOf('a')); //7
</script>
lastindexOf:查找字符串的位置,但是查找字符串的順序是從后向前的。
charAt:按照給出的索引在字符串中查找這個字符串中的字符。
eg:
<script>
var str = 'shahduasdhsa';
console.log(str.charAt(5)); //u
console.log(str.charAt(0));//s
</script>
- trim:去除一個字符串空格,默認去除字符串兩邊的空格。但是不能去除其他字符。
eg:
<script>
var str = 'jsajd ajadsikj';
console.log(str.length);
console.log(str.trim('j').length);
console.log(str.trim());
</script>
- match:匹配函數(shù),主要用于正則匹配。一般用于驗證……
正則:醫(yī)生的藥方,道士的符,程序員的正則。
eg:
<script>
var str = 'dasjhlimaoduiajq283498skhyugulimaodyausygyauzhangzhenagsdubyas';
console.log(str.match(/\d/));
</script>
- concat:合并字符串,將兩個字符串連接在一起。
eg:
<script>
var str = 'sahgdasj';
var str1 = 'dshkjkdhfu';
console.log(str.concat(str1));
</script>
*slice(start,end):截取,截取出來的內(nèi)容是從start開始到end-1結(jié)束。slice(start,-end)如果end是一個負數(shù),那么表示的位置是從后向前數(shù)。(從后向前數(shù)位置是時沒有0)-start也是表示開始的位置向前數(shù)的。
eg:
<script>
var str = 'ahdushkad';
// console.log(str.slice(-4,-1)); //hka
// console.log(str.substring(-1,-4)); //hdu
console.log(str.substr(2,4)); //dush
</script>
- substring(start,end):截取,截取出來的內(nèi)容是從start開始到end-1結(jié)束。但是不能類似于sclic有負數(shù)。
eg:
<script>
var str = 'ahdushkad';
// console.log(str.slice(-4,-1)); //hka
// console.log(str.substring(-1,-4)); //hdu
console.log(str.substr(2,4)); //dush
</script>
substr:第一個參數(shù)表示截取開始的位置,第二個位置表示截取的長度。這三個函數(shù)如果沒有第二個參數(shù),就會一直截取到字符串的結(jié)束位置。
toLowerCase:將字母轉(zhuǎn)化為小寫字母。
toUpperCase:將字母轉(zhuǎn)化為大寫字母。
eg:
<script>
var str = 'dsahjksnHBSJDKBsndjkfBGDKSFNDKdnfjks';
console.log(str.toLowerCase());
console.log(str.toUpperCase());
</script>