文章目录
JavaScript中的内置对象
就是JavaScript自己封装方法。
1、Array
2、String
3、Math
4、Date
② String
字符串检索方法:
charAt()
语法:
stringObject.charAt(index)
功能:
返回stringObject中index位置的字符
说明:
ECMAScript5中可使用 “方括号加字符索引”来访问字符串中特定的字符,但是IE7及更早的浏览器会返回undefined。
var str = "hello world";
console.log(str[1]); //输出e,取str字符串索引为1的字符
var str = "hello world";
console.log(str.charAt(0));//输出h,取str字符串索引为0的字符
charCideAt()
语法:
stringObject.charCodeAt(index)
功能:
返回stringObject中index位置字符的字符编码
var str = "hello world";
console.log(str.charCodeAt(4));//输出111,取str字符串索引为4的o字符的编码
indexOf()
语法:
stringObject.indexOf(“o”);
功能:
从一个字符串中搜索给定的字符串,返回子字符串的位置
返回值:数值
说明:如果没有找到该子字符串,则返回-1
var email = "marry@163.com";
console.log(email.indexOf("@"));//输出5,@在email字符串中的位置,索引值是5
var email = "marry@163.com";
console.log(email.indexOf("z"));//输出-1,因为email字符串里面没有找到z这个字符
var email = "marry@163.com";
console.log(email.indexOf("rr"));//输出2,在email字符串中,第一个r是索引值2,indexOf是可以检测字符串的
var email = "marryoo@sohu.com";
console.log(email.indexOf("o")); //输出5,只检测在email字符串中第一次o,出现的位置
lastIndexOf()
语法:
stringObject.lastIndexOf(“o”);
功能:
从一个字符串中搜索给定的子字符串,返回子字符串的位置
返回值:数值
说明:如果没有找到该子字符串,则返回-1
var email = "marry.mail@sohu.com";
console.log(email.lastIndexOf("."));//输出15,检测email字符串中,右边的第一个点的位置
字符串对象的截取方法
slice()
语法:
stringObject.slice(start,end);
功能:
截取子字符串
参数说明:
1、start:必须,指定子字符串的开始位置
2、end:可选,表示子字符串到哪里结束,end本身不在截取范围之内,省略时截取至字符串的末尾
3、当参数为负数时,会将传入的负值与字符串的长度相加
var str = "hello world";
console.log(str.slice(7,10)); //从索引值7开始,到索引值10,因为end不包括本身,所以截取的是索引值到9
//输出orl
console.log(str.slice(1,3)); //从索引值7开始,到索引值3,因为end不包括本身,所以截取的是索引值到3
//输出el
console.log(str.slice(-3)); //str字符串的长度+(-3)=11+(-3)=8,是str.slice(8)
//输出rld
console.log(str.slice(-7,-2)); //str字符串的长度+(-7)=11+(-7)=4,是str.slice(4,-2)
//str字符串的长度+(-2)=11+(-2)=9,是str.slice(4,9)
//输出o wor
substring()
说明:语法及功能同slice()完全一样
区别在于:
1、当参数为负数时,自动将参数转换为0
2、substring()会将较小的数作为开始位置,将较大的数作为结束位置
var str = "hello world";
console.log(str.substring(1,4)); //索引值从1开始,到索引值4结束,不包括4本身
//输出ell
console.log(str.substring(-7,5));//-7就是索引值0,等于str.substring(0,5)
//输出hello
console.log(str.substring(-4,-5)); //相当于str.subtring(0,0),取不到任何值
console.log(str.substring(5,-2)); //默认会把小的数字,放在前面相当于str.substring(-2,5),等于(0,5)
//输出hello
substr()
语法:
stringObject.substr(start,len)
功能:
截取子字符串
参数说明:
1、start:必须,指定子字符串的开始位置
2、len:可选,表示截取的字符总数,省略时截取至字符串的末尾
3、当start为负数时,会将传入的负值与字符串的长度相加
4、当len为负数时,返回空字符串
var str = "hello world";
console.log(str.substr(6,3)); //从索引6开始,截取的总数是3位数
//相当于str.substring(6,9);
//输出wor
console.log(str.substr(-5,4)); //str的总长度11+(-5)=6,str.substr(6,4)
//输出worl
console.log(str.substr(3,-4)); //如果长度是负数,输出的就是空,截取不到
综合例子
//获取扩展名
var url = "http://baidu.com/index.txt"
function getFileFormat(url){
//获取.在url中出现的位置
//检测url字符串中,右边的第一个点的位置
var pos = url.lastIndexOf(".");
// console.log(pos);
//输出22
return url.substr(pos); //相当于url.substr(22),不需要结尾
//如果不要点“.”,直接输出txt
// return url.substr(pos+1)//相当于url.substr(23),不包括本身
}
var formatName = getFileFormat(url);
var picFormat = getFileFormat("123456.jpg");
console.log(formatName);//输出.txt
console.log(picFormat);//输出.jpg
字符串对象的方法
split()
语法:
stringObject.split(separator)
功能:
把一个字符串分割成字符串数组
返回值:
Array
说明:
separator:必须,分隔符
//将字符串转换成数组
var str = "welcome-to-beijing";
var date = "2016/05/05";
//使用split将str转换为数组
var arr = str.split("-");
var dateArr = date.split("/");
console.log(arr);
//输出数组["welcome","to","beijing"]
console.log(dateArr);
//输出数组["2016", "05", "05"]
replace()
语法:
stringObject.replace(regexp/substr,replacement)
功能:
在字符串中用一些字符替换另一些字符,或替换一个正则表达式匹配的子串
返回值:
String
参数:
regexp:必需。规定子字符串或要替换的模式的RegExp对象
replacement:必需。一个字符串值
var tel = "010-123456,020-123456,030-123456";
console.log(tel);
//输出010-123456,020-123456,030-123456
//将,替换成空格
var newTel = tel.replace(","," ");
console.log(newTel);
//输出010-123456 020-123456,030-123456
//只替换第一个“,”
字符串方法的其他方法
toUpperCase()
语法:
stringObject.toUpperCase()
功能:
把字符串转换为大写
var str = "hello world";
console.log(str.toUpperCase());
//输出的是大写的HELLO WORLD
var str = "hello world";
//截取str中的w改写成大写,w是第6个字符
var upper = str.charAt(6).toUpperCase();
console.log(upper);
//输出W
toLowerCase()
语法:
stringObject.toLowerCase()
功能:
把字符串转换为小写
var str2 = "WELCOME";
//将WELCOME转换成小写
console.log(str2.toLowerCase());
//输出welcome
例子:
//在CSS中书写左边框border-left-color,在js中是borderLeftColor驼峰形式
//封装一个函数
//思路通过符号分割字符串为数组
//1、将字符串拆分为数组
//2、遍历数组
//3、改变除第一个单词之外的所有单词的首字母
//4、拼接字符串
function camelback(str){
//通过 “-” 这个分隔符将str拆分成数组
var arr = str.split("-"),newStr=arr[0];
// console.log(arr); //输出["border", "left", "color"]
//循环遍历
//因为border不需要改变,所以不是从i=0开始,是从i=1开始
//循环前newStr=arr[0],等于newStr=“border”
for(var i=1, len=arr.length; i<len; i++){
var word = arr[i];
// console.log(word);//输出left color
//将每一个单词的首字母转换为大写,连接剩余字符
newStr += word.charAt(0).toUpperCase() + word.substr(1);
// console.log(newStr);//第一次循环是borderLeft,第二次循环是borderLeftColor
}
return newStr;
}
//调用camelback这个函数,传参"border-left-color"字符串,str接收
var camelFormart = camelback("border-left-color");
console.log(camelFormart);//输出borderLeftColor