JavaScript String类型

 

概述

String类型是字符串的对象包装类型,用于处理文本(字符串)。

使用String构造函数来创建。

var stringobject = new String("hello");
//构造函数创建
var stringobject = "hello";

1.String对象属性

consttructor:对创建该对象的函数的引用

length:字符串的长度

prototype:允许向对象添加属性和方法

2.String对象方法

(1)字符方法

l两个用于访问字符串中特定字符的方法:

charAt():接收一个参数,从0开始计算。以单字符字符串的形式返回给定位置的那个字符串。

charCideAt():接收一个参数,从0开始计算。返回给定位置字符的字母编码。

fromCharCode():接受一个或多个 Unicode 值。返回代表 Unicode 编码的字符。

ES5还定义了一个使用方括号加数字访问特定字符的方法。

var a = 'hello,javascript';
console.log(a.charAt(6));   //j
console.log(a.charCodeAt(2));//108
console.log(a[1]);            //e
var b = String.fromCharCode(65,66,67,68);
console.log(b);              //ABCD

(2)字符串操作方法

concat():连接两个或者更多的字符串,并返回新的字符串

slice( start,end): start指子字符串的开始位置,end(在指定的情况下)表示字符串到哪里结束。

substr(start,length):start指子字符串的开始位置,length9在指定的情况下)表示截取的字符串长度,必须是数值。如果省略了该参数,那么返回从开始位置到结尾的字串。

substring(from,to):from指子字符串的开始位置,to(在指定的情况下)表示字符串到哪里结束,如果省略该参数,那么返回的子串会一直到字符串的结尾。

var a = 'hello,javascript';
console.log(a.slice(1,3));     //el
//截取第二个字符,到第四个字符(第四个不要)
console.log(a.slice(-3));     //ipt
//-3转化为13.因为(-3)+16=8.
console.log(a.slice(3,-3));     //lo,javascr
//截取的是第四个字符到第十六个字符
console.log(a.substr(2,3));     //llo
//截取的是第二个字符开始,截取三个字符。
console.log(a.substr(2));      //llo,javascript
//第二个字符开始,截取后面所有的字符
console.log(a.substr(2,-3));   //''
//-3会转化为0,截取空字符串
console.log(a.substring(1,5));    //ello
//截取第二个字符,到第五个字符(第五个不要)
console.log(a.substring(-2));   //hello,javascript
//截取第二个字符后面的所有字符
console.log(a.substring(2,1));  //e
//截取第一个字符到第二个字符

(3)字符串位置方法

有两个可以从字符串中查找子字符串的方法:

indexOf():从前向后搜索字符串,返回某个指定的字符串值在字符串中首次出现的位置。如果没找到字符串则返回-1。

lastIndexOf():从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。如果没找到字符串则返回-1。

startsWith():用于检测字符串是否以指定的子字符串开始。该方法接受两个参数,第一参数是必须,是一个要查找的字符串。第二个参数是查找开始的位置,默认为0。如果是以指定的子字符串开头返回 true,否则 false。该方法对大小写敏感。

includes():查找字符串中是否包含指定的子字符串。第一个参数是需要查找的子字符串,第二个参数是查找开始的位置,默认为0.如果找到该字符串则返回true,反之返回false。

var a = 'hello,javascript';
var s = 't';
console.log(a.indexOf(s));    //15
console.log(a.lastIndexOf('script'));   //10
console.log(a.startsWith("javascript", 6));   // true   

(4)trim()方法

这个方法会创建一个字符串的副本,删除前置或者后缀的所有空格,然后返回结果。

var a = '  hello,javascript          ';
console.log(a.trim());    
//hello,javascript

(5)字符串大小写转换方法

toUpperCase():方法用于把字符串中的字母转换为大写。

toLowerCase():方法会将字符串中的所有字母转换为小写。

(6)字符串的模式匹配方法

match():在字符串上调用这个方法,在本质上与RegExp的exec()方法相同。match()只接受一个参数,要么是一个正则表达式,要么是一个RegExp对象。

返回值是存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。 如果没找到匹配结果返回 null

match方法返回的数组有3个属性:input,index,lastindex。

function myFunction(){
    var str="The rain in SPAIN stays mainly in the plain"; 
    var n=str.match(/ain/g);
    document.write(n);
}
myFunction();
//ain,ain,ain

search():用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。如果没有找到任何匹配的子串,则返回 -1。只接受一个参数,要么是一个正则表达式,要么是一个RegExp对象。

返回值是与指定查找的字符串或者正则表达式相匹配的 String 对象起始位置。

function myFunction(){
    var str="The rain in SPAIN stays mainly in the plain"; 
    var n=str.search(/ain/);
    document.write(n);
    console.log(n);
}
myFunction();
//5

replace():用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

该方法接受两个参数:第一个参数是必须的,规定子字符串或要替换的模式的 RegExp 对象。第二个参数是必需的,它是一个字符串值。规定了替换文本或生成替换文本的函数。

返回值是一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。

function myFunction(){
    var str='Mr Blue has a blue house and a blue car.'; 
    var n=str.replace(/blue/g,"red");
    document.write(n);
    console.log(n);
}
myFunction();
//Mr Blue has a red house and a red car.

split():用于把一个字符串分割成字符串数组。

该方法接受两个参数;第一个参数是可选的,字符串或正则表达式,从该参数指定的地方分割 string对象。第二个参数是可选,该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

返回值是一个字符串数组。

function myFunction(){
    var str='Mr Blue has a blue house and a blue car.'; 
    var n=str.split(' ');
    //用空格分隔
    document.write(n[2]);
    console.log(n);
    //["Mr", "Blue", "has", "a", "blue", "house", "and", "a", "blue", "car."]
}
myFunction();
//has

 

posted @ 2020-07-02 21:34  江之鸟  阅读(313)  评论(0)    收藏  举报