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算法计算,得到摘要签名.服务端会根据请求参数,对签名进行验证,签名不合法的请 ...
随机推荐
- Scala基础类型与操作
Scala基本类型及操作.程序控制结构 Scala基本类型及操作.程序控制结构 (一)Scala语言优势 自身语言特点: 纯面向对象编程的语言 函数式编程语言 函数式编程语言语言应该支持以下特性: 高 ...
- Analysis about different methods for reading and writing file in Java language
referee:Java Programming Tutorial Advanced Input & Output (I/O) JDK 1.4+ introduced the so-calle ...
- 转:C++中多态是怎样实现的?
多态是一种不同的对象以单独的方式作用于相同消息的能力,这个概念是从自然语言中引进的.例如,动词“关闭”应用到不同的事务上其意思是不同的.关门,关闭银行账号或关闭一个程序的窗口都是不同的行为:其实际的意 ...
- android -上传文件到服务器
android上传文件到服务器 重点:最好是设置好content-type这些参数的配置! package com.spring.sky.image.upload.network; ...
- Android Studio 代码混淆
新建一个项目,Android Studio默认关闭代码混淆开关,在build.gradle文件中,如下图所示的minifyEnabled 开关,因此如果需要混淆代码,需将false改为true,然后在 ...
- 解决phpmyadmin-1800秒超时链接失效问题
在phpmyadmin的配置文件里 \usr\share\phpMyAdmin\libraries\config.default.php 修改 $cfg[‘LoginCookieValidity’] ...
- shell编程之文本与日志过滤
1:grep命令: grep -v "char" file_name 匹配不包括"char"的文本 grep -n -w "char" ...
- 解决MySQL 一闪而过的情况
首先进入cmd 切入MySQL的安装目录,然后切入 bin 目录 ,输入mysqld -n t --skip-grant-tables命令. 这个 cmd 窗口先不要关闭, 打开另一个窗口 登陆 ...
- HOOK API(四)—— 进程防终止
HOOK API(四) —— 进程防终止 0x00 前言 这算是一个实战吧,做的一个应用需要实现进程的防终止保护,查了相关资料后决定用HOOK API的方式实现.起初学习HOOK API ...
- 百度下载google 浏览器安装失败
installer integrity check has failed. Common causes include incomplete download and damaged media co ...