JavaScript中String对象的方法介绍


Posted in Javascript onJanuary 04, 2017

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"

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
用JavaScript实现单继承和多继承的简单方法
Mar 29 Javascript
javascript 面向对象编程  function是方法(函数)
Sep 17 Javascript
Javascript 实现TreeView CheckBox全选效果
Jan 11 Javascript
ajax 缓存 问题 requestheader
Aug 01 Javascript
json中换行符的处理方法示例介绍
Jun 10 Javascript
中文输入法不触发onkeyup事件的解决办法
Jul 09 Javascript
使用JS画图之点、线、面
Jan 12 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
Sep 17 Javascript
js滑动提示效果代码分享
Mar 10 Javascript
Jquery Easyui分割按钮组件SplitButton使用详解(17)
Dec 18 Javascript
vue-awesome-swiper滑块插件使用方法详解
Nov 27 Javascript
Vue实现PC端靠边悬浮球的代码
May 09 Javascript
js select下拉联动 更具级联性!
Apr 17 #Javascript
基于JavaScript实现熔岩灯效果导航菜单
Jan 04 #Javascript
使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)
Jan 04 #Javascript
jquery+ajax实现省市区三级联动效果简单示例
Jan 04 #Javascript
基于jQuery实现火焰灯效果导航菜单
Jan 04 #Javascript
深入理解Javascript中的valueOf与toString
Jan 04 #Javascript
使用UrlConnection实现后台模拟http请求的简单实例
Jan 04 #Javascript
You might like
PHP如何得到当前页和上一页的地址?
2006/11/27 PHP
如何提高MYSQL数据库的查询统计速度 select 索引应用
2007/04/11 PHP
修改PHP的memory_limit限制的方法分享
2012/02/21 PHP
php中call_user_func函数使用注意事项
2014/11/21 PHP
php中实现xml与mysql数据相互转换的方法
2014/12/25 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
FF火狐下获取一个元素同类型的相邻元素实现代码
2012/12/15 Javascript
Javascript图像处理—虚拟边缘介绍及使用方法
2012/12/27 Javascript
javascript通过class来获取元素实现代码
2013/02/20 Javascript
JS打开新窗口的2种方式
2013/04/18 Javascript
js动态为代码着色显示行号
2013/05/29 Javascript
Javascript设置对象的ReadOnly属性(示例代码)
2013/12/25 Javascript
js创建对象的区别示例介绍
2014/07/24 Javascript
JS判断变量是否为空判断是否null
2014/07/25 Javascript
jQuery实现带滚动导航效果的全屏滚动相册实例
2015/06/19 Javascript
JavaScript位移运算符(无符号) >>> 三个大于号 的使用方法详解
2016/03/31 Javascript
js 原型对象和原型链理解
2017/02/09 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
js 用于检测类数组对象的函数方法
2017/05/02 Javascript
微信小程序动态添加分享数据
2017/06/14 Javascript
vue.js简单配置axios的方法详解
2017/12/13 Javascript
关于node-bindings无法在Electron中使用的解决办法
2018/12/18 Javascript
vue基础之事件简写、事件对象、冒泡、默认行为、键盘事件实例分析
2019/03/11 Javascript
Vue element-ui父组件控制子组件的表单校验操作
2020/07/17 Javascript
vue-cli单页面预渲染seo-prerender-spa-plugin操作
2020/08/10 Javascript
[50:27]Secret vs VG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[03:08]TI9战队档案 - Vici Gaming
2019/08/20 DOTA
python selenium firefox使用详解
2019/02/26 Python
python获取array中指定元素的示例
2019/11/26 Python
Pytorch实现基于CharRNN的文本分类与生成示例
2020/01/08 Python
详解Python 中的容器 collections
2020/08/17 Python
extern在函数声明中是什么意思
2014/01/19 面试题
护士自荐信范文
2013/12/15 职场文书
销售演讲稿范文
2014/01/08 职场文书
幸福家庭事迹材料
2014/12/20 职场文书
Nginx如何配置根据路径转发详解
2022/07/23 Servers