字符串的概念
字符串的创建方式
通过new运算符进行创建
var str = new string("hello")
alert (typeof str);//object对象有属性和函数
new可以省略
var str = string("hello");
alert(typeof str);
通过常量创建字符串
var str = "hello";
alert(typeof str);
字符串的属性
访问字符串的字符
charAt()
【格式】 字符串.charAt(下标)
【返回值】字符串对应的下标
【注】我们可以直接通过字符串的下标去访问该字符alert(str.charAt(1));
//alert(str[1]);
【注】ECMAScript中字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。要改变某个变量保存的字符串,首先要销毁之前的字符串,然后用另一个包含新值的字符串填充该变量
var str = "hello";
//str[1] = "x";
str = "hxllo"
alert (str);
charCodeAt
【格式】字符串.charCodeAt(下标)
返回值:返回字符串中对应下标的ASCII码值var str = "hello"
alrte(str.charCodeAt(1));//101
String.fromCharCode()
【格式】String.fromCharCode(ASCII码值)
参数: ASCII码值,个数任意
返回值:ASCII码值对应字符组成的字符串var str = String.fromCharCode(97,98,99);
alert(str);//abc
concat()
【格式】字符串1.concat(字符串2)
返回值:拼接成的字符串,生成新的字符串
【注】一般情况下很少用,使用字符串拼接符“+”var str1 = "hello";
var str2 = "world";
var str = str1.concat(str2);
//var str = str1 + str2;
alert(str);
indexOf
【格式】字符串,indexOf(子串,开始查找的位置);
返回值:如果在查找到了子串第一次出现的位置,返回子串出现的位置,否则没有查找到返回0.var str = "abcabcabc";
alert(str.indexOf("abc",1));
lastIndexOf
【格式】字符串.lastIndexOf(子串);
返回值:子串在字符串中最后一次出现的位置,如果没有,返回-1;var str = "abcabcabc";
altet(str.lastIndexOf("abc"));
search(子串/正则)
参数可以是正则表达式
“abc” /abc/ig
【注】正则表达式可以添加修饰符,i表示忽略大小写,g表示全局匹配var str = "Abcabcabc";
alert(str.search(/abc/i));
replace()
【格式】字符串.replace(匹配的字符串/正则表达式,替换成的新字符串)
返回值:替换完成以后生成新的字符串。
想替换所有符合条件的字符串,必须使用正则表达式来完成。var str = " how Are are you";
alert(str.replace("are","old are"));
alert(str.replace(/are/ig,"old are"));
subString()
【格式】字符串.subString(start,end)
作用:字符串提取,在指定范围内,提取字符串,组成新的字符串
返回值:生成新的字符串
【注】不包含结束位置的下标var str1 = "helloworld";
var str = str1.subString(4,7);//owo
split
【格式】字符串.split(分隔符。生成的数组的长度)
返回值:通过分隔符,分割成装有子串的数组。
【注】1. 分隔符,整体会分割出空字符串
- 如果分割符是空字符“”,那么我们字符串会分割成单个字符
- 字符串=>数组split 数组=> 字符串join
var str = "This is a box";
// var arr = str.split(" ",2);
//var arr = str.split(" ");
// var arr = str.split(" ");
var arr = str.split("");
alert(arr);
alert(arr.join("+"));
toLowerCase(),toUpperCase()
var str = "HRLLO world";
alert(str.toLowerCase());//全小写
alert(str.toUpperCase());//全大写