在學習js的過程中,不了避免的要用到字符串,所以是必須掌握的.String是Js中最常用的對象,就是這樣一個最常用最普通的對象,當你深入研究時卻發(fā)現(xiàn)我們并不是真的很了解它,那么讓我們一起來學習它吧.
首先 我們怎么創(chuàng)建一個字符串呢?
var a = new String("Hello World");
如果我們想打印字符串中的某一項 那應(yīng)該怎么做呢?
這里就用到了 charAt()
charAt()是 以單字符串的形式返回給定位置的那個字符
它接收一個參數(shù),即基于0的字符位置(下標)。
例:
var a = "Hello world";
console.log(a.charAt(1)); //e
需要了解:String構(gòu)造函數(shù)本身還有一個靜態(tài)方法。
fromCharCode() 方法
接受一個或多個字符編碼,然后將他們轉(zhuǎn)換成一個字符串。
例:
console.log(String.fromCharCode(104,101,108,108,111)); //hello
如果我們想拼接兩個字符串,就要用到concat() ;
concat() 用于將一個或多個字符串拼接起來,返回拼接得到的新字符串。
例
var a = "hello";
var b = "word";
console.log(a.concat(b));// "helloword"
如果我們想找到一個字符串某個數(shù) 對應(yīng)的下標 這里就要用到indexof() lastIndexof()
例:
var str = "hello world";
console.log(str.indexof("o")); //4 從前往后找,找到第一個o的下標 并返回 這個下標
console.log(str.lastIndexof("o")); //7 從后往前找,找到第一個o的下標 并返回這個下標
console.log(str.indexof("o",6)); //7 從前往后找,從下標為6的數(shù)開始找o,找到 并返回這個下標
console.log(str.lastIndexof("o",6)); //4從后往前找,從下標為6的數(shù)開始找o,找到 并返回這個下標
如果檢測不到返回-1
ES還提供了三個基于子字符串創(chuàng)建新字符串的方法:slice()、substr() 和 substring()。這三個方法都會返回被操作字符串的一個子字符串,而且都接受一或兩個參數(shù)。第一個參數(shù)指定子字符串的開始位置,第二個參數(shù)有所不同。具體來說就是,slice()和substring()的第二個參數(shù)指定的是子字符串最后一個字符后面的位置。而substr()的第二個參數(shù)指的是返回的字符的個數(shù)。如果沒有給這些方法傳第二個參數(shù),則將字符串的末尾作為結(jié)束位置。都不會修改字符串本身(子字符串)。
例:
substr
var str1 = "hello world";
console.log(str1.substr(3));//lo world 只有一個數(shù) 表示從下標為3的數(shù)開始截取,截取到末尾
console.log(str1.substr(3,5));// lo wo 有兩個數(shù) 第一個數(shù)表示從下標為3的數(shù)開始截取,第二個數(shù)表示截取個數(shù)為5
console.log(str1.substr(-3));// rld 從下標為-3的數(shù)開始往后截取 截取完
console.log(str1.substr(3,-4))// '' 第二個數(shù)為截取個數(shù) 如果為負數(shù) 則為空
substring
var str2 = "hello world";
console.log(str2.substring(3));//lo world 只有一個數(shù) 表示從下標為3的數(shù)開始截取 截取到末尾
console.log(str2.substring(3,7));//lo w 有兩個數(shù) 第一個數(shù)表示開始下標 第二個數(shù)表示截取下標為7的前一位
console.log(str2.substring(-3));// hello world 如果只有一個數(shù) 為負數(shù),先把它轉(zhuǎn)換為0 然后從頭截取到結(jié)束 全部打印
console.log(str2.substring(3,-4));// hel 如果有兩個數(shù),先把負數(shù)轉(zhuǎn)為0(3,0),將較小到數(shù)作為開始位置(0,3)
slice
var str3 = "hello world";
console.log(str3.slice(3)); //lo world 只有一個數(shù) 表示從下標為3的數(shù)開始截取,截取到末尾
console.log(str3.slice(3,7));// lo w 有兩個數(shù) 第一個數(shù)表示開始下標 第二個數(shù)表示截取下標為第二個數(shù)的前一位
console.log(str3.slice(3,-7));//l 有兩個數(shù) 第一個數(shù)表示開始下標 第二個數(shù)表示截取下標為第二個數(shù)的前一位
js小白 ,如有錯誤,望多指教