JS——字符串

字符串(String对象)
String类型用于表示字符序列,即字符串,由“”或‘’包裹。

一、字符字面量
表示非打印字符,或有其他用途的字符,又叫转义序列。
\n  换行
\t  制表(tap)
\b  退格
\r  回车
\f  进纸
\\  斜杠
\’ 单引号
\” 双引号
二、字符串属性
length
三、转换为字符串方法
1.toString()和valueOf()
二者用法相同,括号内一般不放参数,若有参数则为几进制

var age=10;
var ageString=age.toString();//返回“10”
var ageString=age.toString(2);//返回“1010”



2. String()
在不知转换的值是null还是undefined时使用

var value=true;
alert(String(value)); //返回true

var value=null;
alert(String(value)); //返回null
alert(value .toString());//报错

var value=undefined;
alert(String(value)); //返回undefined
alert(value .toString());//报错







四、字符串方法
1.charAt()和charCodeAt()
用于访问字符串中特定字符,括号内有一个数字,即位置
charAt()返回位置对应的单个字符
charCodeAt()返回位置对应的字符编码

var string=”hello”;
alert(string.charAt(1));//返回“e”
alert(string.charCodeAt(1));//返回“101”,即“e”的字符编码

2.concat()
将多个字符串拼接,返回新的字符串,原字符串未被修改

var str1=”hello”;
var str2=str1.concat(”world”,“!”);
alert(str2);//返回“hello world!”

3.slice()
返回字符串的子字符串,可传两个参数,第一个指定子字符串开始的位置,第二个(可选)指定子字符串结束的位置(左闭右开),原字符串未被修改。

var str=”hello”;
alert(str.slice(1));//返回”ello”
alert(str.slice(-1));//返回” o”
alert(str.slice(1,3));//返回”el”
alert(str.slice(1,-1));//返回”ell”

4.substring()
返回字符串的子字符串,可传两个参数,第一个指定子字符串开始的位置,第二个(可选)指定子字符串结束的位置(左闭右开),原字符串未被修改。

var str=”hello”;
alert(str. substring (1));//返回”ello”
alert(str.slice(-1));//返回” hello”,把负数转换为0
alert(str. substring (1,3));//返回”el”
alert(str. substring (1,-1));//返回”h”,相当于(0,1)






5.substr()
返回字符串的子字符串,可传两个参数,第一个指定子字符串开始的位置,第二个(可选)指定子字符串返回字符的个数(左闭右开),原字符串未被修改。

var str=”hello”;
alert(str. substr (1));//返回”ello”
alert(str.slice(-1));//返回” o”,第一个负数参数加上字符串长度:-1+5=4
alert(str. substr (1,3));//返回”ell”
alert(str. substr (1,-1));//返回””空字符串,第二个负数参数化为0,相当于(1,0)


6. indexOf()和lastIndexOf()
字符串检索,返回找到的第一个元素的索引,若无则返回-1
indexOf()从头至尾搜索
lastIndexOf()从后向前搜索


7.trim()
ECMAScript5中的字符串方法,删除前置以及后缀的所有空格,返回新的字符串,原字符串未被修改

Var str=”   hello world    “;
Var str1=str.trim();
Alert(str1);//返回”hello world”


8.字符串大小写转换方法
toLowerCase()和toUpperCase()是经典方法
toLocaleLowerCase()和toLocaleUpperCase()是针对地区的方法,一般用这个

var str=”hello”;
alert(str.to LocaleUpperCase());//返回”HELLO”




9.match()
模式匹配,只接受一个参数,可以是一个正则表达式,也可以是一个RegExp对象

var text=”cat,bat”;
var pattern=/.at/;
var ma=text.match(pattern);
alert(ma[0]);//返回cat,与pattern.exec(text)相同






10.search()
用于查找,只接受一个参数,可以是一个正则表达式,也可以是一个RegExp对象。返回字符串中第一个匹配项的索引,若未找到匹配项,返回-1

var text=”cat,bat,sat”;
var pos=text.search(/at/) ;
alert(pos);//返回1,at在字符串中第一次出现的位置


11.replace()
化简替换子字符串,接受两个参数,第一个可以是一个正则表达式,也可以是一个RegExp对象;第二个可以是一个字符串或一个函数。若第一个是字符串,则只会替换第一个子字符串

var text=”cat,bat,sat”;
var result=text.replace(“at”,”ond”) ;
alert(result);//”cond,bat,sat”
var result2=text.replace(/at/g,”ond”) ;
alert(result);//”cond,bong,song”

12.split()
基于指定的分隔符将一个字符串分割成多个字符串,并将结果放在一个数组中,可接受两个参数,第一个是分隔符,第二个可指定数组大小

Var str=”r,e,d”;
Var str1=str.split(”_”);//返回[“r”_”e”_”d”]
Var str1=str.split(”_”,2);//返回[“r”_”e”]

13.localeCompare()
比较两个字符串,返回下列值中的一个:
(1) 如果字符串在字母表中应该排在字符串参数之前,则返回一个负数(一般为-1)
(2) 字符串等于字符串参数,则返回0
(3) 如果字符串在字母表中应该排在字符串参数之后,则返回一个正数(一般为1)

var str=”red”;
alert(str. localeCompare(“sat”));//返回-1
alert(str. localeCompare(“red”));//返回0
alert(str. localeCompare(“apple”));//返回1

14.fromCharCode()
接收一至多个字符编码,并将其转换为字符串,与charCodeAt()执行相反的操作

alert (str. fromCharCode(104,101,108,108,111));//”hello”



猜你喜欢

转载自3255160875.iteye.com/blog/2329081