JavaScript 基础篇 - String 类型

我们经常都会使用到字符串,当我们将一个字符串赋值给一个变量的时候,我们就定义了一个字符串类型值。字符串类型属于基本类型,不是引用类型,因为变量存的的是值,而不是指针,这个值是存放在栈中的,而引用类型的值都存放在堆中的。

 

比如我们定义一个字符串类型的值:

  var str = 'Hello, world!';

这是基本类型,但是我们还可以将这个字符串执行一些更复杂的操作,比如:

  str.charAt(0); // 返回字符串的第一个位置的字符,即H

  str.length; // 返回字符串的长度,即12

如果字符串仅仅是基本类型,不是引用类型(不是对象),那么为什么又具有方法和属性呢?答案就是:在后台JavaScript引擎会将str临时转换成String类型的一个实例,再调用String类型的方法和属性,调用完成后就将这个临时的实例销毁。过程如下:

  (1)当调用字符串的某个属性和方法的时候;

  (2)创建一个String类型的实例,相当于var strobj = new String(str);

  (3)在调用strobj的方法或属性,返回结果;

  (4)销毁strobj这个实例;

由于这个实例只是临时的,在操作执行结束之后就立即被销毁,所以对str进行添加属性和方法都是无意义的,因为新的属性和方法会随着实力的销毁一同被销毁。

 

下面介绍下String类型的方法和属性:

1. 提取子串

  方法名  参数          功能

  slice   startIndex,endIndex 返回从起始位置到结束位置之间的子串

  substr     startIndex,lenght    返回从起始位置开始,length个长度的子串

  substring startIndex,endIndex   返回从起始位置到结束位置之间的子串  

三种方法都可以忽略第二个参数,如果忽略第二个参数,那么都默认取从起始位置到子串末尾。slice和subsring在传入正数作为参数的时候,结果是完全一样;但当传入负数作为参数的时候,结果有点不同了。slice会将负的参数和字符串长度相加的结果作为替换,而substring会将负的参数转换成0。substr会将第一个负的参数加上字符串长度作为替换,将第二个负的参数转换成0。

2. 提取字符

  方法名    参数  功能

  charAt     index  返回字符串中index位置的字符

  charCodeAt   index    返回字符串中index位置字符的字符编码

3. 连接字符串

  concat:接受任意多的参数,将其一次连接在原字符串的后面,然后返回新的字符串。

4. 搜索子串位置

  方法      参数          功能

  indexOf    subStr,index(可选)   从字符串的头开始搜索子串在字符串中的位置,如果有index这个参数,那么就从index开始向后搜索

  lastIndexOf    subStr,index(可选) 从字符串的末尾开始搜多子串在字符串中的位置,如果有index参数,就从index的位置开始向前搜索

5. 模式匹配

  方法    参数                  功能

  match     正则表达式                 返回一个数组,第一项是与整个模式匹配的子串,之后的每一项一次保存捕获分组(如果存在),如                             果表达式中有g标志符,那么将所有的匹配都放入数组中  

  search    正则表达式               返回第一个模式匹配的子串的位置,如果没有匹配成功就返回-1

  replace   正则表达式(或字符串),替换字符串   将匹配成功的子串替换成第二个参数指明的字符串,如果正则表达式中存在g标志符,就会替换所有                                    的匹配成功的子串

6. 分隔字符串

  split:将字符串按分隔符分隔成多个子串,然后依次放入一个数组中返回。接受两个参数,第一个参数可以是字符串也可以是正则表达式,第一个参数作为分隔符;第二个参数可选,如果指定,将指定返回的数组的length。

7. 大小写转换

  toLowerCase,toLocaleLowerCase:将字符串全部转换成小写然后返回,两个方法在大多数情况下返回相同,但是对于个别语言会有所不同,toLocaleLowerCase是专门针对地区化的转换;

  toUpperCase,toLocaleUpperCase:将字符串全部转换成大些然后放回;

8. 长度

  length:lenght属性返回字符串大小的长度;

转载于:https://www.cnblogs.com/iRidescent-ZONE/archive/2012/06/28/2568830.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值