JavaScript 温故而知新(五)内置对象-String对象

本文探讨JavaScript中的内置对象,特别是关注String对象。详细介绍了字符串检索方法如charAt(), charCodeAt(), indexOf() 和 lastIndexOf(),以及字符串截取方法slice(), substring() 和 substr()。还提到了split(), replace()等字符串操作方法,以及toUpperCase()和toLowerCase()用于大小写的转换。" 115873559,8378183,理解Z检验:原理、公式与实例解析,"['统计学', '假设检验', '数据分析']
摘要由CSDN通过智能技术生成

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值