JavaScript中的字符串
JavaScript字符串是JavaScript最重要的部分,可能比任何其他的数据类型都更多的用到。
所有的JavaScript对象共享的方法之一就是toString()。
字符串对象叫做String,并且,与其他的JavaScript对象一样,它拥有预先构建在对象类型上的一组属性。
可以使用new运算符来实例化一个String对象,就像声明一个数组或者对象一样。
var str=new String(“Hello,world”);
实例化之后,可以通过str访问所有String】类型的属性,例如:
str=str.toUpperCase();//现在新的字符串是"HELLO,WORLD”
如果没有使用new来访问String,将会创建一个字符串字面量,而不是一个String对象,与直接使用引号达到的效果一样。例如:
var str=String("new string")和var str="new string",两句语句的效果是一样的

尽管String对象和字符串字面量不同,但是我们依然可以在一个字符串字面量上访问String对象的方法。
具体过程是:当一个字符串字面量调用String对象的方法的时候,JavaScript引擎会根据这个字面量创建一个String对象,这个对象包含了字符串字面量。然后创建的新对象调用方法,结束之后,销毁之前创建的String对象。
String类型
string类型是字符串的对象包装类型,提供了很多方法,用来辅助完成ECMAScript中字符串的解析和操作。
1、字符方法
两个用于访问字符串中特定字符的方法是:chartAt()和charCodeAt()
两个方法都接受一个参数:基于0的字符位置。其中charAt()以单字符字符串的形式返回指定位置的那个字符,而charCodeAt()则返回字符编码

这个例子中,使用charAt()得到的是",",而使用charCodeAt()得到的是"44",也就是逗号对应的字符编码。
ECMAScript还另外定义了一个访问个别字符的方法,可以使用方括号加数字索引来访问特定的字符,就像访问数组中的元素一样。如果在IE7及更早版本中使用,会返回undefined。在IE7中

在Chrome中

2、字符串操作方法
这一类有较多个方法。
第一个是concat(),可以将一个或者多个字符串拼接起来,返回拼接得到的新字符串。可以接受任意多个参数,将参数拼接得到新的字符串。

虽然concat()是专门拼接字符串的方法,但是实践中更多使用的还是加法操作符,而且加法操作符在大多数情况下逗比concat()要方便得多。
还有三个基于子字符串创建新字符串的方法:slice(),substr(),substring()。这三个方法都返回被操作字符串的一个子字符串。都可以接受一个或两个参数。
第一个参数指定子字符串开始的位置,这一点对于这三个方法来说都是一样的。
第二个参数表示子字符串到何处结束。如果没有指定,三者都将原字符串的长度作为结束的位置;如果指定了第二个参数,那么三者都有差别。
slice和substring的第二个参数指定的是字符串最后一个字符后面的位置。
substr的第二个参数指定的是返回的字符个数。

值得注意的是:
slice传入两个参数时,第一个参数必须小于第二个参数;而substring传入两个参数时,将较小的数作为开始位置,较大的数作为结束位置。
当传入的参数是负值的时候,这三个方法的行为就不太一样了。
slice会将负值与字符串的长度相加;substr将负的第一个参数加上字符串的长度,而将负的第二个参数转换为0;substring会将所有的负值的参数转换成0。
3、字符串位置方法
有两个可以从字符串红查找子字符串的方法:indexOf(),lastIndexOf()。这两个方法都是从一个字符串中搜索指定的子字符串,然后返回子字符串的位置。如果没有找到该子字符串,则返回-1。

同时,这两个方法都可以接受第二个参数,表示从字符串的哪个位置开始搜索。而indexOf从指定的位置往后搜索,lastIndexOf从指定的位置往前搜索。

4、字符串大小写转换方法
JavaScript提供了四种与大小转换有关的方法。经典的两个是:toUpperCase(),toLowerCase()。前者将字符串全部字母转换成大写,后者将字符串全部字母转换成小写。
toLocaleUpperCase(),toLocaleLowerCase(),针对特定地区使用。
5、字符串的模式匹配方法
这类方法和正则表达式有一定的联系,现在自己还没有接触过。踏踏实实等学会了再来补充。
6、一个很独特的方法:split
这个方法将字符串分割成字符串数组,并返回这个数组。可以接受最多两个参数。
没有参数的时候,该方法会将原字符串当做数组的元素返回。

只有一个参数的时候,该方法会将参数指定的字符的位置作为界限来分解原字符串。如果传入的是空字符串,则回将每个字母都当做数组元素返回。

第二个参数用来限定返回的数组的长度。接着上例

上面这些是String常用的一些方法,光知道有这些还是不行,要实践一下才能更好的熟悉。所谓:熟能生巧,多看多练才是正解。
JavaScript中的字符串的更多相关文章
- javascript中对字符串的操作总结
原文:javascript中对字符串的操作总结 没听过一句话吗?程序员的世界,不处理字符串就是处理数组.这是群里的一位前辈和我说的,显然这和我之前理解的DOM是javascript的核心的不同的,看了 ...
- javascript中的字符串对象和数组对象
1.javascript的对象的概念 在javascript中,除了null和undefined以处,其他的数据类型都被定义成了对象 也可以用创建对象的方法定义变量,string,math,array ...
- javascript中的字符串对象
1.javascript的对象的概念 在javascript中,除了null和undefined以处,其他的数据类型都被定义成了对象 也可以用创建对象的方法定义变量,string,math,array ...
- 如何在 JavaScript 中检查字符串是否包含子字符串?
如何在 JavaScript 中检查字符串是否包含子字符串? // var test4 = _.includes(string, substring); 该方法需要此文件 <script src ...
- [转] JavaScript中的字符串操作
一.概述 字符串在JavaScript中几乎无处不在,在你处理用户的输入数据的时候,在读取或设置DOM对象的属性时,在操作cookie时,当然还有更 多....JavaScript的核心部分提供 ...
- javascript中的字符串编码、字符串方法详解
js中的字符串是一种类数组,采用UTF-16编码的Unicode字符集,意味字符串的每个字符可用下标方式获取,而每个字符串在内存中都是一个16位值组成的序列.js对字符串的各项操作均是在对16位值进行 ...
- 什么 是JavaScript中的字符串类型之间的转换问题详解? 部分4
字符串类型 单双引号都可以!建议使用单引号!(本人建议:个人觉得单个字符串更利于网页优化@特别地方特别处理!); 判断字符串的长度获取方式:变量名.length html中转义符: < < ...
- JavaScript中有对字符串编码的三个函数:escape,encodeURI,encodeURIComponent
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...
- javaScript中计算字符串MD5
进行HTTP网络通信的时候,调用API向服务器请求数据,有时为了防止API调用过程中被黑客恶意篡改,所请求参数需要进行MD5算法计算,得到摘要签名.服务端会根据请求参数,对签名进行验证,签名不合法的请 ...
随机推荐
- js调用ASP.NET打印代码
第一步:添加下面的js <script type="text/javascript"> function printsetup() { ...
- zoj 2587 Unique Attack 最小割判定
题目链接 让你判断最小割是否唯一. 判断方法是, 先求一遍最大流, 然后从源点dfs一次, 搜索未饱和边的数目. 从汇点dfs一次, 同样也是搜索未饱和边的数目, 看总和是否等于n. 如果等于n那么唯 ...
- 基于JDK 8的Dubbo Admin
在使用Dubbo Admin的时候,一直报错,无法启动,因为Dubbo Admin使用的各种库相对是比较旧的,在JDK 8下,有些小问题 具体解决过程参考的以下链接 https://github.c ...
- 美版nexus 5 LG D820才支持CDMA,国际版LG D821不支持
我们都知道nexus 5其实是有两个不同的版本的,分别是LG D820和LG D821,它们在几乎所有的配置和外观上都没有任何的区别,主要区别在通讯模块上,一个支持GSM/CDMA/WCDMA/LTE ...
- HDU 5724 Chess(博弈论)
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5724 [题目大意] 给出一个n行,每行有20格的棋盘,棋盘上有一些棋子,每次操作可以选择其中一个棋 ...
- Reorder the Books(规律)
Reorder the Books Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Othe ...
- 关于css的默认宽度
<div class="boxa"> <div class="boxb">我是div</div> </div> ...
- API和DLL
API API(Application Programming Interface,应用编程接口)其实就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 API 而使操作系统去执行应用 ...
- SQL Server和MySql获取当前数据库每个表的列数
Sql server:(连接数据库后,点击当前数据库再新建查询) select count(c.name),o.name from syscolumns c left join sysobjects ...
- 如果DataGrid的checkbox出现点一个另外自动点另一个现象
如果DataGrid的checkbox出现点一个另外自动点另一个现象: 取消(EnableRowVirtualization)这个选项就可以正常了(关闭虚拟UI):