字符串就是一串字符,由双(单)引号括起来。字符串是 JavaScript 的一种基本的数据类型。
【注】ECMAScript 中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量
【注】字符串存储在内存中一个叫做只读数据段的地方。
1、字符串变量里面存储的是地址
2、字符串是只读的,不能被修改
【注】字符串既是基本数据类型又是复合数据类型。
声明字符串的方式
var str1 = new String(‘hello world’);
var str2 = String(‘hello world’);
alert(typeof str1);
alert(typeof str2);
字符串中的字符访问是通过字符的下标去访问
var str = 'hello';
alert(str.charAt(1));
alert(str[1]);
字符串的方法:
indexOf(“abc”, start); 查找字符串第一次出现的位置,可以传两个参数
格式:supStr.indexOf(subStr, start);
功能:从start这个位置开始,在supStr中查找subStr第一次出现的位置。
start不传,默认从0开始去查。
返回值: >= 0 查找到了
-1 没有查找到
var supStr = "abcabcabc";
var subStr = 'abcd';
alert(supStr.indexOf(subStr, 1))
lastIndexOf("abc”); 查找字符串最后一次出现的位置 如果没有找到 返回-1
var supStr = "abcabcabc";
var subStr = 'abc';
alert(supStr.lastIndexOf(subStr))
search() 正则匹配(返回出现的位置)
格式:supStr.search(subStr/正则表达式)
正则表达式比作一个超级字符串。
修饰符
i 忽略大小写
g 全局匹配
var supStr = "Abcabcabc";
var subStr = /abc/i;
alert(supStr.search(subStr));
replace() 字符串替换
字符串.replace(oldStr/正则, newStr);
功能:用newStr,将字符串中的oldStr替换掉,返回一个替换完成的新字符串
返回值:新字符串
var str = "how are Are are you";
var newStr = str.replace("are", "old are");
alert(newStr);
alert(str);
substring(start, end);
功能:提取制定范围内的字符,生成新的字符串
var str = 'hello';
var newStr = str.substring(1, 4);
alert(newStr);
alert(str);
spilt 字符串分割
格式:字符串.split(分割符);
功能:将字符串通过分割符分成小块,放在一个数组里
返回值:装有分割完毕的字符串的数组。
var str = "hi=my==name=hello";
var arr = str.split("=");
alert(arr);(hi,my,name,hello)
将字符串转成全大写或全小写
toLowerCase()
toUpperCase();
var str = "helloWORLD";
alert(str.toLowerCase());
alert(str.toUpperCase());