String對象是 JavaScript 原生提供的三個包裝對象之一,用來生成字符串對象。
- var s1 = 'abc';
- var s2 = new String('abc');
- typeof s1 // "string"
- typeof s2 // "object"
- s2.valueOf() // "abc"
上面代碼中,變量s1是字符串(通過字面量形式創建),s2是對象(通過構造函數形式創建)。由于s2是字符串對象,s2.valueOf方法返回的就是它所對應的原始字符串。
除了用作構造函數,String對象還可以當作工具方法使用,將任意類型的值轉為字符串。
- String(true) // "true"
- String(5) // "5"
上面代碼將布爾值true和數值5,分別轉換為字符串。
實例屬性:String.prototype.length
字符串實例的length屬性返回字符串的長度。
- 'abc'.length // 3
實例方法
String.prototype.charAt()
charAt方法返回指定位置的字符,參數是從0開始編號的位置。
- var s = new String('abc');
- s.charAt(1) // "b"
- s.charAt(s.length - 1) // "c"
這個方法完全可以用數組下標替代。
- 'abc'.charAt(1) // "b"
- 'abc'[1] // "b"
如果參數為負數,或大于等于字符串的長度,charAt返回空字符串。
- 'abc'.charAt(-1) // ""
- 'abc'.charAt(3) // ""
String.prototype.charCodeAt()
charCodeAt()方法返回字符串指定位置的 Unicode 碼點(十進制表示)。
- 'abc'.charCodeAt(1) // 98
上面代碼中,abc的1號位置的字符是b,它的 Unicode 碼點是98。
如果沒有任何參數,charCodeAt返回首字符的 Unicode 碼點。
- 'abc'.charCodeAt() // 97
如果參數為負數,或大于等于字符串的長度,charCodeAt返回NaN。
- 'abc'.charCodeAt(-1) // NaN
- 'abc'.charCodeAt(4) // NaN
String.prototype.concat()
concat方法用于連接兩個字符串,返回一個新字符串,不改變原字符串。
- var s1 = 'abc';
- var s2 = 'def';
- s1.concat(s2) // "abcdef"
- s1 // "abc"
該方法可以接受多個參數。
- 'a'.concat('b', 'c') // "abc"
如果參數不是字符串,concat方法會將其先轉為字符串,然后再連接。
- var one = 1;
- var two = 2;
- var three = '3';
- ''.concat(one, two, three) // "123"
- one + two + three // "33"
在上面代碼中,concat方法將參數先轉成字符串再連接,所以返回的是一個三個字符的字符串。作為對比,加號運算符在兩個運算數都是數值時,不會轉換類型,所以返回的是一個兩個字符的字符串。
String.prototype.slice()
slice方法用于從原字符串取出子字符串并返回,不改變原字符串。它的第一個參數是子字符串的開始位置,第二個參數是子字符串的結束位置(不含該位置)。
- 'JavaScript'.slice(0, 4) // "Java"
如果省略第二個參數,則表示子字符串一直到原字符串結束。
- 'JavaScript'.slice(4) // "Script"
如果參數是負值,表示從結尾開始倒數計算的位置,即該負值加上字符串長度。
- 'JavaScript'.slice(-6) // "Script"
- 'JavaScript'.slice(0, -6) // "Java"
- 'JavaScript'.slice(-2, -1) // "p"
如果第一個參數大于第二個參數,slice方法返回一個空字符串。
- 'JavaScript'.slice(2, 1) // ""
更多內容
>>本文地址:http://www.siyuangc.com/zhuanye/2022/72192.html
聲明:本站稿件版權均屬中公教育優就業所有,未經許可不得擅自轉載。
1 您的年齡
2 您的學歷
3 您更想做哪個方向的工作?