String详细学习

学这些东西,就像是扎马步。小说里郭靖学不会招数,就会扎马步。搞JS,内力还是必须要深厚,深厚,深厚。

1,stringObject.slice(start,end)

slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。


参数


描述


start


要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。


end


紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。

返回值

一个新的字符串。包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。

var str = "1234";
console.log(str.slice());                                  //1234
console.log(str.slice(0,1));                               //0
console.log(str.slice(0,-1));                              //123
console.log(str.slice(1));                                 //234
console.log(str.slice(-2,-1));                             //3
console.log(str.slice(-1,-2));                             //空字符串
console.log(str.slice(0,200));                             //1234
console.log(str.slice(200,1));                             //空字符串

2,stringObject.charAt(index)

返回指定位置的字符。

参数 描述
index 必需。表示字符串中某个位置的数字,即字符在字符串中的下标。
var str = "1234";
console.log(str.charAt(1));                    //2
console.log(str.charAt(222));                  //空字符串
console.log(str.charAt(-1));                   //空字符串

3,stringObject.charCodeAt(index)

charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。用法跟charAt差不多,不过我好奇的是,越界会返回什么:NaN.

var str = "1234";
console.log(str.charCodeAt(1));                    //2
console.log(str.charCodeAt(222));                  //NaN
console.log(str.charCodeAt(-1));                   //NaN

4,stringObject.substring(start,stop)

用于提取字符串中介于两个指定下标之间的字符。

参数 描述
start 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop
可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。

如果省略该参数,那么返回的子串会一直到字符串的结尾。

 细节:

1,start>stop,那么参数就反过来。

2,参数小于0就变成0。

3,参数不是number,就会先转换成number。

var str = "1234";
console.log(str.substring(0,1));          //1
console.log(str.substring(false,1));      //1console.log(str.substring(0,-1));         //空字符
console.log(str.substring(2,1));          //2,等价于substring(1,2)
console.log(str.substring(0,0));          //空字符串
console.log(str.substring(0));            //1234
console.log(str.substring(0,100));        //1234console.log(str.substring(-1));           //1234

5,String.fromCharCode(numX,numX,...,numX)

一个或多个 Unicode 值,即要创建的字符串中的字符的 Unicode 编码。静态方法。

细节:如果传入的不是数字,那么会先转换成字符串,然后在转number,最后转字符的 Unicode 编码。

console.log(String.fromCharCode(76));                //L
console.log(String.fromCharCode("76"));              //L
console.log(String.fromCharCode("76","76"));         //LL
console.log(String.fromCharCode("a"));               //空字符串
console.log(String.fromCharCode(null));              //空字符串
console.log(String.fromCharCode(undefined));         //空字符串
console.log(String.fromCharCode([76]));              //Lconsole.log(String.fromCharCode({}));                //空字符串
console.log(String.fromCharCode(true));              //空字符串
console.log(String.fromCharCode(false));             //空字符串

6,stringObject.indexOf(searchvalue,fromindex)

可返回某个指定的字符串值在字符串中首次出现的位置。找不到就返回-1

参数 描述
searchvalue 必需。规定需检索的字符串值。
fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。

 细节:searchvalue如果不是字符串,会转成字符串,然后再寻找.

var str = "1234";
console.log(str.indexOf("2"));                     //1
console.log(str.indexOf(2));                       //1
console.log(str.indexOf([2]));                     //1
console.log(str.indexOf("5"));                     //-1,不存在
console.log(str.indexOf("4",4));                   //-1,index越界

7,stringObject.split(separator,howmany)

把一个字符串分割成字符串数组。

参数 描述
separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

 细节:

1,如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

2,参数无效就返回该字符串。

var str = "1 2 3";
console.log(str.split(" ").toString());   //1,2,3
console.log(str.split(/\s/).toString());  //1,2,3
console.log(str.split("4").toString());   //1 2 3,参数无效就返回该字符串
console.log(str.split("").toString());    //1, ,2, ,3,参数为空字符串就全部分割

参考:http://www.w3school.com.cn/jsref/jsref_obj_string.asp

时间: 2024-10-16 11:42:50

String详细学习的相关文章

Android 服务类Service 的详细学习

上一篇说到了通知栏Notification,提起通知栏,不得让人想到Service以及BroadcastReceive,作为android的4大组建的2个重要成员,我们没少和它们打交道.它们可以在无形中使我们的软件和网络.数据库.系统等进行交互,之后通过UI(Notification就是一种展示方式)把结果展现在我们面前.可以说,他们是android生命体系里面的神经系统,通过反射条件让身体展现不同的状态.在整个系统中,广播接收器充当着是传输者和监听者的角色,它把系统的一点点变化都反馈上去,之后

压缩跟踪(CT)代码详细学习_模块1(样本的采集和扩充)

本章主要详解的是compressive tracking框架中的第一部分:样本的采集和扩充部分. 在开始代码学习的前面,你需要知道的理论知识参见论文:Real-time Compressive Tracking.理论理解可以参见我的博客:http://blog.csdn.net/ikerpeng/article/details/19826409 . 这个模块中你需要知道一个基本的概念:代码里面几个变量指的是什么.上一张图: 也许你现在还不知道他们是什么,直接贴代码了.相信有我的注释你一定会懂的.

ADO.NET详细学习笔记

[1]ADO.NET和ADO的区别: ADO以Recordset存储,而ADO.NET则以DataSet表示.Recordset看起来更像单表,如果让Recordset以多表的方式表示就必须在SQL中进行多表连接.反之,DataSet可以是多个表的集合.ADO 的运作是一种在线方式,这意味着不论是浏览或更新数据都必须是实时的.ADO.NET则使用离线方式,在访问数据的时候ADO.NET会利用XML制作数据的一份幅本,ADO.NET的数据库连接也只有在这段时间需要在线. 由于ADO使用COM技术,

压缩跟踪(CT)代码详细学习_模块2(特征的提取和计算)

0.下载安装Opencv,当前版本为249. 1.下载Python,当前OPencv版本为249,不过其支持的最新版本的Python为2.7,所以可以下载276版本. 2.下载numpy,开始我使用了1.6,没有通过,错误如图.下载了最新的1.8.1版本. 3.将Opencv安装目录下opencv\build\python\2.7\x86中的cv2.pyd复制到python安装目录Lib\site-packages下. 4.找到opencv源文件内的draw.py运行. 压缩跟踪(CT)代码详细

压缩跟踪(CT)代码详细学习0

接下来我想比对CT那篇文章(http://blog.csdn.net/ikerpeng/article/details/19826409)的代码,逐行的解释,逐行的敲代码并最终实现.希望通过这个过程提高我的C编程的能力,以及对于目标跟踪的框架更进一步熟悉.希望对于后面的研究打下好的基础. 当然我会从各个模块的角度来书写,这样思路更加的清晰一点.大致的思路如下: 1中主要包括两个函数,扩充正负样本的函数,原理参见http://blog.csdn.net/ikerpeng/article/detai

Android本地缓存DiskLruCache完整详细学习示例

MainActivity如下: package cc.vv; import java.io.File; import java.io.InputStream; import java.io.OutputStream; import libcore.io.DiskLruCache; import libcore.io.Utils; import android.os.Bundle; import android.os.Handler; import android.os.Message; impo

理论:详细学习shell编程规范与变量————理论讲解 初学者一定要点进来

前言: shell脚本编程规范 shell脚本应用场景 shell编程规范 管道与重定向 shell脚本变量揭秘 自定义变量 特殊变量 本次学习了解的是变量 语言分为两大类 1.强语言:定义变量的时候需要声明数据类型,一旦声明,就不可变 jave c语言 1整型 init 1 2 3 100 长整型 long 2浮点型 单精度 float 4字节 双精度 double 8字节 带小数点就是浮点型 3.string 字符串 char 字符 英文字母字符 a 占一个字节 ? 中文汉字字符,男 占两个

Java中String类学习总结

java中String类的使用频率非常高,本人在学习此模块时,认为下列几点知识值得注意: 一.String是不可变对象 java.lang.String类使用了final修饰,不能被继承.Java程序中的所有字面值,即双引号括起的字符串,如"abc",都是作为String类的实例实现的.String是常量,其对象一旦构造就不能再被改变.换句话说,String对象是不可变的,每一个看起来会修改String值的方法,实际上都是创造了一个全新的String对象,以包含修改后的字符串内容.而最

C#文本处理(String)学习笔记

摘要:string是编程中使用最频繁的类型.一个string表示一个恒定不变的字符序列集合.string类型直接继承自object,故他是一个引用类型,也就是说线程的堆栈上不会有任何字符串(直接继承自object的类型一定是引用类型,因为所有的值类型都继承自System.ValueType.值得指出的是System.ValueType是引用类型). string是编程中使用最频繁的类型.一个string表示一个恒定不变的字符序列集合.string类型直接继承自object,故他是一个引用类型,也