博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基本类型String的原生方法详解
阅读量:5922 次
发布时间:2019-06-19

本文共 1778 字,大约阅读时间需要 5 分钟。

1.字符方法

charAt( index ) 和 charCodeAt( index )

这两个方法都接收一个参数,即基于 0 的字符索引位置。前者返回对应索引位置的字符,后者返回对应索引位置字符的字符unicode编码(这个返回值是 0 - 65535 之间的整数, 如果 index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN)。

如:

var str = "hello world";alert( str.charAt(1) ); //charAt(1) 返回字符 "e"//也可以表示成str[1],但ie7及更早版本不支持,会返回undefined值alert(str.charCodeAt(1)); //charCodeAt(1) 返回字符"e"的字符unicode编码“101”

  

2.字符串操作方法

2-1. concat(str1,str2,···)

接收任意多个参数,用于拼接字符串,返回拼接得到的新字符串,不影响源字符串,但一般用加号操作符“+”进行字符串连接。

如:

var str1 = "hello ";var result = str1.concat("world");alert(result); //"hello world"

  

2-2. slice()、substring()、substr()

这三个方法都返回被操作字符串的一个子字符串,都接收一或者两个参数,第一个参数指定子字符串的开始位置,第 二个参数(在指定的情况下)表示子字符串到哪里结束,三个方法对源字符串无影响。

具体来说,slice()和substring()的第二个参数指定的是子字符串最后一个字符后面的位置;
而substr()的第二个参数指定的是返回的字符个数。
如果没有第二参数,则将字符串的长度作为结束位置。
(当参数都是正数时,若只有一个参数,则三者结果一致;若指定两个参数,则 slice() 和 substring() 结果一致)
当参数是负值时,它们的行为就不尽相同了:
其中,slice() 会将传入的负值与字符串长度相加所得到的值取代掉负值,如:

var str="hello world"; //字符串长度为11alert( str.slice(-3) ); //相当于 str.slice(8) 即输出"rld"alert( str.slice(3,-4) ); //相当于 str.slice(3,7) 即输出 "lo w"

而 substring() 会将所有负值都转换为 0,如:

var str="hello world"; //字符串长度为11alert( str.substring(-3) ); //相当于 str.substring(0) 即输出 "hello world"alert( str.substring(3,-4) );//相当于str.substring(3,0),但由于这个方法会将较小的数作为开//始位置,将较大的数作为结束位置,亦即相当于str.substring(0,3),最后结果输出"hel"

而 substr() 会将负的第一个参数加上字符串长度,负的第二个参数转换为 0,如:

var str="hello world"; //字符串长度为11alert( str.substr(-3) ); //相当于str.substr(8)即输出"rld"alert( str.substr(3,-4) ); //相当于str.substr(3,0)即输出""(空字符串)

  

3.字符串位置方法

indexOf() 和 lastIndexOf()

这两个方法都是从一个字符串中搜索给定的子字符串,然后返回子字符串的位置(如果没有找到该子字符串,则返回-1),注意,位置索引值从0开始。

前者从开头向后搜索,后者从结尾向前搜索,但返回的索引值均是相对于从前向后数起的。如:

var str = "hello world";alert(str.indexOf("o")); //4alert(str.lastIndexOf("o")); //7

  

转载于:https://www.cnblogs.com/jiangmy/p/4595952.html

你可能感兴趣的文章
日期的常规运用
查看>>
pgrep 查询进程的工具
查看>>
OAF_架构MVC系列3 - View的概述(概念)
查看>>
java的定时器用法
查看>>
TempDB--临时表的缓存
查看>>
什么是java 序列化,如何实现java 序列化?
查看>>
Java模式(适配器模式)
查看>>
腾讯开放平台:无法拉起客户端分享的问题
查看>>
因你常说没关系,他便不觉对不起。
查看>>
Android 4.4 KitKat升级率已经接近18%(2014-07-09 07:29)
查看>>
Python list去重及找出,统计重复项
查看>>
C#Light 再推荐,顺便介绍WP8 功能展示项目
查看>>
查询所有数据库,数据集
查看>>
[转]虚拟现实和现实增强技术带来的威胁
查看>>
lua 按拉分析与合成
查看>>
借蜡烛
查看>>
Android中的UriMatcher、ContentUrist和ContentResolver
查看>>
我的VIM配置
查看>>
安装RVDS2.2
查看>>
使用ThinkPHP框架高速开发站点(多图)
查看>>