1.字符方法

1.1 charAt() 方法,返回字符串中指定位置的字符。
var question = "Do you like JavaScript?"; alert(question.charAt(5)); //"u"
字符串 "Do you like JavaScript?" 的长度为23,即位置从0到22。指定位置5处的字符是"u"。
1.2 charCodeAt() 方法,返回字符串中指定位置的字符编码。
var question = "Do you like JavaScript?"; alert(question.charCodeAt(5)); //"117"
位置5处的字符"u"的字符编码是"117"。
charAt() 和 charCodeAt() 都是针对单个字符进行操作的方法。
2.字符串操作方法
这个小节的字符串操作方法是关于创建新字符串的方法。这些方法包括 concat()、slice()、substring()、substr()。
concat() 是通过拼接的方式创建新的字符串,slice()、substring()、substr() 是通过提取的方式创建新的字符串。
这四种方法不会改变原始字符串。
2.1 concat() 方法,将一个或多个字符串拼接起来,返回新的字符串。不改变原始字符串。
concat() 方法可以接受一个或多个参数。
concat() 方法接受一个参数。
var love = "I love ";
var result = love.concat("you");
alert(result); //"I love you"
alert(love); //"I love "
love 调用了 concat() 方法,返回 "I love you",love 的值并没有改变。
concat() 方法接受多个参数。
var love = "I love ";
var result = love.concat("you"," very"," much","!");
alert(result); //"I love you very much!"
alert(love); //"I love "
不过,在实践中,通常用 + 号操作符将字符串拼接在一起。
2.2 slice()、substring()、substr() 方法,通过提取原始字符串的部分或全部来创建新的字符串,返回创建后的新字符串,不改变原始字符串。
slice()、substring()、substr() 方法可以接受一个或两个参数,这些参数为数字,可以是正值参数,也可以是负值参数。
2.2.1 参数为正值时
传入两个参数的情况
对于 slice() 、substring() ,第一个参数为提取的开始位置(包括开始位置的字符),第二个参数为提取的结束位置(不包括结束位置的字符)。
对于 substr(),第一个参数为提取的开始位置(包括开始位置的字符),第二个参数为提取的字符个数。
var hello = "I love JavaScript!"; alert(hello.slice(7,11)); //"Java" alert(hello.substring(7,11)); //"Java" alert(hello.substr(7,11)); //"JavaScript!"
字符串 "I love JavaScript!" 长度为18,即位置从0到17。第7位的字符是 "J",第11位的字符是 "S"。
slice()、substring() 提取的子字符串是从第7位开始(包括第7位的 "J")到第11位结束(不包括第11位的 "S"),于是用这两个方法提取的新字符串是 "Java"。而 substr() 则是从第7位 "J" 开始(包括第7位的 "J"),提取11个字符,最后提取的新字符串为 "JavaScript!"。
传入一个参数的情况
参数为正值,传入一个参数时,slice()、substring()、substr() 方法提取原理相同,即从参数的位置开始提取(包括开始位置的字符),一直提取到原始字符串的最后一个字符(包括最后一个字符)。
var hello = "I love JavaScript!"; alert(hello.slice(7)); //"JavaScript!" alert(hello.substring(7)); //"JavaScript!" alert(hello.substr(7)); //"JavaScript!"
传入了一个参数7,即从第7位开始(包括第7位的 "J"),一直提取到原始字符串的最后一位(包括最后一位的 "!")。于是,只有一个参数,且参数为正值时,slice()、substring()、substr() 方法返回的新字符串相同。
2.2.2 参数为负值时,不管是一个参数还是两个参数
slice() 方法会将传入的所有负值与字符串长度相加。
substring() 方法会将传入的所有负值都转化为0。
substr() 方法,若第一个参数是负值,则将负值与字符串长度相加;若第二个参数是负值,则将其转化为0。
var hello = "I love JavaScript!"; alert(hello.slice(-11)); //"JavaScript!" alert(hello.substring(-11)); //"I love JavaScript!" alert(hello.substr(-11)); //"JavaScript!" alert(hello.slice(-11,-9)); //"Ja" alert(hello.substring(-11,-9)); //""(空字符串) alert(hello.substr(-11,-9)); //""(空字符串)
当传入一个负值参数-1时,
slice() 将负值参数与字符串长度相加,前面提到过,字符串 "I love JavaScript!" 的长度为18,于是 slice(-11) 即相当于 slice(7),即从第7位开始提取,最后提取的子字符串为 "JavaScript!";
substring() 会将负值转化为0,substring(-11) 相当于 substring(0),即从第0位开始提取,最后提取的子字符串为 "I love JavaScript!";
substr() 将负值参数与字符串长度相加,substr(-11) 相当于 substr(7),即从第7位开始提取,最后提取的子字符串为 "JavaScript!"。
当传入参数-11,-9时,
slice() 将所有负值参数与字符串长度相加,slice(-11,-9) 相当于 slice(7,9),最后提取的子字符串为 "Ja";
substring() 会将所有负值转化为0,substring(-11,-9) 相当于 substring(0,0),即从第0位开始,第0位结束,即提取的是空字符串;
substr() 将第一个参数-11与字符串长度相加,将第二个参数-9转化为0,substr(-11,-9) 相当于 substr(7,0),即从第7位开始,提取0个字符串,即也是空字符串。
3.字符串位置方法
indexOf() 方法和 lastIndexOf() 方法,返回要检索的子字符串在原始字符串中第一次出现的位置。
indexOf() 方法从原始字符串开头向后检索子字符串,lastIndexOf() 方法从原始字符串末尾向前检索子字符串。
indexOf() 方法和 lastIndexOf() 方法接受一个必选参数。
var test = "balala balala balala";
alert(test.indexOf("a")); //"1"
alert(test.lastIndexOf("a")); //"19"
indexOf() 从开始位置向后检索子字符串 "a","a" 第一次出现的位置是1;lastIndexOf() 从末尾位置向前检索子字符串 "a","a" 第一次出现的位置是19。
如果没有找到要检索的子字符串,则这两个方法都会返回-1。
var test = "balala balala balala";
alert(test.indexOf("h")); //"-1"
alert(test.lastIndexOf("h")); //"-1"
indexOf() 方法和 lastIndexOf() 方法接受第二个可选参数,表示从原始字符串的哪个位置开始。
var test = "balala balala balala";
alert(test.indexOf("a",7)); //"8"
alert(test.lastIndexOf("a",7)); //"5"
indexOf("a",7) 从第7位向后检索子字符串 "a","a" 第一次出现的位置是8;lastIndexOf("a",7) 从第7位向前检索子字符串 "a","a" 第一次出现的位置是5。
4.字符串大小写换换方法
ECMAScript 中涉及字符串大小写转换的方法有4个:toUpperCase()、toLocaleUpperCase()、toLowerCase()、toLocaleLowerCase()。
toUpperCase() 和 toLowerCase() 是典型的方法,toLocaleUpperCase() 和 toLocaleLowerCase() 是针对当地地区的方法,以保证字符串正确的转换。
在不知道自己的代码在哪种语言环境中运行时,使用针对当地地区的方法更稳妥一些。
var test = "balala balala balala"; alert(test.toLocaleUpperCase()); //"BALALA BALALA BALALA" alert(test.toUpperCase()); //"BALALA BALALA BALALA" alert(test.toLocaleLowerCase()); //"balala balala balala" alert(test.toLowerCase()); //"balala balala balala"
5.trim()方法
trim() 方法会创建原始字符串的副本,并删除前置和后缀的所有空格,然后返回结果,不会改变原始字符串。
var test = " balala balala balala "; var test1 = test.trim(); alert(test1); //"balala balala balala" alert(test); // " balala balala balala " alert(test1.length); //"20" alert(test.length); //"28"
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# js
# string对象的方法
# JavaScript之String常见的方法详解
# 用jQuery将JavaScript对象转换为querystring查询字符串的方法
# JavaScript基于扩展String实现替换字符串中index处字符的方法
# JavaScript中的toString()和toLocaleString()方法的区别
# javascript中数组(Array)对象和字符串(String)对象的常用方法总结
# JavaScript获取URL中参数querystring的方法详解
# 梳理总结JavaScript的23个String方法
# 第二个
# 即从
# 第一个
# 转化为
# 会将
# 多个
# 长度为
# 空字符串
# 这两个
# 不包括
# 则将
# 操作方法
# 不改变
# 自己的
# 的是
# 都是
# 是一个
# 则是
# 是从
# 如果没有
相关文章:
如何在香港服务器上快速搭建免备案网站?
建站之星微信建站一键生成小程序+多端营销系统
怎么将XML数据可视化 D3.js加载XML
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
已有域名和空间如何搭建网站?
如何在阿里云服务器自主搭建网站?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
Python路径拼接规范_跨平台处理说明【指导】
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
建站之星如何配置系统实现高效建站?
建站主机选择指南:服务器配置与SEO优化实战技巧
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
如何使用Golang安装API文档生成工具_快速生成接口文档
建站中国官网:模板定制+SEO优化+建站流程一站式指南
C#怎么使用委托和事件 C# delegate与event编程方法
音乐网站服务器如何优化API响应速度?
香港服务器租用费用高吗?如何避免常见误区?
如何快速搭建高效可靠的建站解决方案?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
文字头像制作网站推荐软件,醒图能自动配文字吗?
建站上传速度慢?如何优化加速网站加载效率?
建站之星导航如何优化提升用户体验?
如何通过免费商城建站系统源码自定义网站主题与功能?
常州企业网站制作公司,全国继续教育网怎么登录?
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
已有域名和空间如何快速搭建网站?
如何用5美元大硬盘VPS安全高效搭建个人网站?
如何制作一个表白网站视频,关于勇敢表白的小标题?
网页设计网站制作软件,microsoft office哪个可以创建网页?
如何选择高效便捷的WAP商城建站系统?
如何在宝塔面板中创建新站点?
广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?
如何挑选高效建站主机与优质域名?
活动邀请函制作网站有哪些,活动邀请函文案?
C++时间戳转换成日期时间的步骤和示例代码
制作企业网站建设方案,怎样建设一个公司网站?
如何规划企业建站流程的关键步骤?
微课制作网站有哪些,微课网怎么进?
如何快速选择适合个人网站的云服务器配置?
如何选购建站域名与空间?自助平台全解析
教学论文网站制作软件有哪些,写论文用什么软件
?
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
定制建站价位费用解析与套餐推荐全攻略
如何选择CMS系统实现快速建站与SEO优化?
公司门户网站制作流程,华为官网怎么做?
如何在七牛云存储上搭建网站并设置自定义域名?
TestNG的testng.xml配置文件怎么写
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
如何通过二级域名建站提升品牌影响力?
江苏网站制作公司有哪些,江苏书法考级官方网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。