1. 特殊字符
反斜杠是一个转义字符。 转义字符将特殊字符转换为字符串字符:
转义字符 (\
) 可以用于转义撇号,换行,引号,等其他特殊字符。
下表中列举了在字符串中可以使用转义字符转义的特殊字符
// 反斜杠是转义字符 可用于引号,括号,反斜线等特殊字符的转义
var str = "hell\"o\"\n world";
document.write(str); //输出 hell"o" world
2. 创建String对象
// 创建字符串
//注意 str3 是一个字符串对象 而str、str2是一字符串
//str 不等于 str1、str2
var str = "hello world";
var str2 = 'hello world';
var str3 = new String("hello world");
document.write(typeof(str));// string
document.write(typeof(str3));// object
3. String属性
- 示例讲解:
// str.length 字符串长度
var str = "今天是双十一购物节!";
var a = str.length;
document.write(a);//输出 10
//返回在指定位置的字符。
var str = "今天是双十一购物节df!";
// 0 1 2 3 4 5 6 7 8 9
var a = str.charAt(9);// 输出 d
document.write(a);
//indexOf 检索字符串
var str = "hello world";
//012345678910
document.write(str.indexOf("l", 3));//输出 3
//查找 变量 str 里字符串中 l 从第四个索引向后查找 第一次出现的l 所对应的索引
//lastIndexOf() 从后向前搜索字符串
var str = "hello world";
//012345678910
document.write(str.lastIndexOf("l", 8));//输出 3
//subsrtring() 提取字符串中两个指定的索引号之间的字符,截取字符串
var str = "今天是双十一购物节,也是光棍儿节!";
//0 1 23 4 5 6 78 9 10111213141516
document.write(str.substring(1, 2));//输出: 天
//substring(起始索引,结束索引)
//返回位于指定索引index1和index2之间的字符串,
//包含小的索引对应的字符,
//不包含大的索引对应的字符
//substr() 从起始索引号提取字符串中指定数目的字符,截取字符串
var str = "今天是双十一购物节,也是光棍儿节!";
// 0 1 2 3 4 5 6 7 8
document.write(str.substr(3, 6));//双十一购物节
//substr(起始索引,指定数目)
//从起始索引号提取字符串中指定数目的字符
//从指定的索引开始向后截取指定数目的字符(包含起始索引)
示例讲解:
//toUpperCase 把字符串转换为大写
var str = "hello world!";
document.write(str.toUpperCase());//输出:HELLO WORLD!
//toLowerCase 把字符串转换为小写
var str = "HELLO WORLD!";
document.write(str.toLowerCase());//输出:hello world!
//split("分割符") 将字符串转换为数组
// 分割符可以为任意符号
var str = "昨天+今天+明天+后天+大后天+老外后天";
var str2 = str.split("+");
document.write(str2[2]);//输出: 明天
/*
replace("查找的字符","要替换的字符")
用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
*/
var str = "有人在广场上练法轮功!法轮功害人害己!";
var str2 = str.replace("法轮功","***");
document.write(str2);//输出: 有人在广场上练***!法轮功害人害己!
var str = "有人在广场上练法轮功!法轮功害人害己!";
var str2 = str.replace(/法轮功/g,"***");//这里使用正则方式全局过滤
document.write(str2);//输出: 有人在广场上练***!***害人害己!
var str3 = "hello WORLD world! w----";
var str4 = str3.replace(/world/gi,"kitty");//全局过滤不分大小写
document.write(str4);//输出: hello kitty kitty! w
//concat() 连接字符串 括号中可能通过","拼接n个字符串
var str1 ="今天";
var str2 ="明天";
var str3 ="后天";
var strn = str1.concat(str2,str3);
document.write(strn);//输出:今天明天后天
//trim() 移除字符串首尾空白
var str = " hello ";
var str2 = str.trim("hello");
document.write(str2); //输出(去掉空白的):hello
4. parseInt()、parseFloat
parseInt()
函数可解析一个字符串,并返回一个整数
示例:
// NaN not a number
var a = "10"; // parseInt 结果是 10
var b = "10.6";// parseInt 结果是 10
var c = "10a"; // parseInt 结果是 10
var d = "a10"; // parseInt 结果是 NaN
var e = " 10 ";// parseInt 结果是 10
parseFloat()
函数可解析一个字符串,并返回一个浮点数
var a = "10"; // parseInt 结果是 10
var b = "10.6"; // parseInt 结果是 10.6
var c = "10.6a"; // parseInt 结果是 10.6
var d = "a10.6"; // parseInt 结果是 NaN
var e = " 10.6 ";// parseInt 结果是 10.6
5. isNaN() 、toFixed()
isNaN()
用于检测参数是否是非数字。非数字 只比较值 不比较数据类型(isNaN is not a number)
// 非(不)是数字 真 true
// 是数字 假 false
var a = "10.6"; //isNaN() 结果是 false
var b = 10.6; //isNaN() 结果是 false
var c = "10.6a"; //isNaN() 结果是 true
var str = "hello"; //isNaN() 结果是 true
toFixed(保留几位小数)
函数 可以处理js计算的精度问题
var a = "0.11";
var b = "0.2801";
var c = "1.002";
document.write((parseFloat(a)+parseFloat(b)+parseFloat(c)).toFixed(3));//输出: 1.392