Javascript读书笔记:字符串常用方法

concat()

连接多个字符串,返回合并后的字符串。

1 var s1="a";
2 var s2="b";
3 var s3="c";
4
5 console.log(s1.concat(s2,s3));//abc

数组中的concat():将参数添加为数组的元素,返回新的数组。

1 var arr = [1, 2, 3];
2 console.log(arr.concat(4, 5));//[1,2,3,4,5]

indexOf()

查找子串第一次出现的索引。

1 var s="abcd";
2 console.log(s.indexOf("b"));//1

若没有匹配项,返回 -1。

1 var s="abcd";
2 console.log(s.indexOf("e"));//-1

可以传入第二个参数:fromIndex,表示从索引位置fromIndex开始查找,默认从起始索引0开始查找;若fromIndex为负,则从索引0开始查找。

1 var s = "aba";
2 console.log(s.indexOf("a", 0));//0
3 console.log(s.indexOf("a", 1));//2
4 console.log(s.indexOf("a", -1));//0

该方法对大小写敏感。

1 var s="Aba";
2 console.log(s.indexOf("a"));//2

lastIndexOf()

类似 indexOf() ,但从右往左查找。

1 var s = "aba";
2 console.log(s.lastIndexOf("a"));//2

也可指定起始索引,默认从最大索引开始查找。

1 var s = "aba";
2 console.log(s.lastIndexOf("a",1));//0

charAt()

返回指定索引位置的字符(因为Javascript中没有字符类型,所以返回的是长度为1的字符串)。

1 var s="abc";
2 console.log(s.charAt(1));//b

若索引越界,返回空字符串。

1 var s="abc";
2 console.log(s.charAt(-1));//""

substr()

substr(fromIndex,length):从起始索引fromIndex开始截取长度length的字符串。

1 var s="abc";
2 console.log(s.substr(1,1));//b

若length < 1,返回空字符串。

1 var s="abc";
2 console.log(s.substr(1,-1));//""

若不指定length或者length超过可截取的最大长度,则截取到结尾。

1 var s="abc";
2 console.log(s.substr(1));//bc
3 console.log(s.substr(1,10));//bc

若起始索引为负,则从右往左开始截取(从右往左的索引从-1开始)。

1 var s="abc";
2 console.log(s.substr(-1,1));//c

substring()

substring(startIndex,endIndex):截取起始索引startIndex到结束索引endIndex的子字符串,结果包含startIndex处的字符,不包含endIndex处的字符。

1 var s="abc";
2 console.log(s.substring(1,2));//b

若startIndex或者endIndex为负,则会被替换为0。

1 var s="abc";
2 console.log(s.substring(-1,2));//ab

若startIndex和endIndex相等,则返回空字符串。

若startIndex > endIndex,则执行方法时,两个值会被交换。

1 var s="abc";
2 console.log(s.substring(2,1));//b

若不指定endIndex或endIndex超出最大索引,则截取到结尾。

1 var s="abc";
2 console.log(s.substring(1));//bc
3 console.log(s.substring(1,10));//bc

slice()

slice(startIndex,endIndex):截取起始索引startIndex到结束索引endIndex的子字符串,结果包含startIndex处的字符,不包含endIndex处的字符。

1 var s="abc";
2 console.log(s.slice(1,2));//b

若startIndex或者endIndex为负,表示该索引是从右往左计算的索引(跟substring不同)。

1 var s="abc";
2 console.log(s.slice(1,2));//b
3 //等价于
4 console.log(s.slice(1,-1));//b
5 //等价于
6 console.log(s.slice(-2,-1));//b
7 //等价于
8 console.log(s.slice(-2,2));//b

若startIndex所表示的索引位置等于endIndex所表示的索引位置,或者startIndex所表示的索引位置在endIndex所表示的索引位置之后,则返回空字符串(跟substring不同)。

1 var s="abc";
2 console.log(s.slice(1,1));//""
3 console.log(s.slice(-1,-2));//""

split()

按给定字符串分割,返回分割后的多个字符串组成的字符串数组。

1 var s="a,bc,d";
2 console.log(s.split(","));//["a", "bc", "d"]
3
4 s="a1b1c1d1";
5 console.log(s.split("1"));//["a", "b", "c", "d", ""] 

Javascript读书笔记:字符串常用方法

时间: 2024-10-21 19:42:07

Javascript读书笔记:字符串常用方法的相关文章

Javascript读书笔记:函数定义和函数调用

定义函数 使用function关键字来定义函数,分为两种形式: 声明式函数定义: function add(m,n) { alert(m+n); } 这种方式等同于构造一个Function类的实例的方式: var add = new Function("m", "n", "alert(m+n);"); Function类构造方法的最后一个参数为函数体:"alert(m+n);",前面的都是函数的形参,参数必须是字符串形式的:&

高性能javascript读书笔记(三.DOM 编程1)

第三章DOM Script DOM编程 读书笔记 访问和修改DOM元素 浏览器通常要求DOM实现和JavaScript保持相互独立. <!-- 例如IE中,被称为JScript的JavaScript实现位于库文件jscript.dll中,而DOM实现位于另一个库mshtml.dll(内 部代号Trident).这种分离技术允许其他技术和语言,如VBScript,受益于Trident所提供的DOM功能和渲染功能.Safari使用Webkit的WebCore处理DOM和渲染,具有一个分离的JavaS

数据结构与算法JavaScript 读书笔记

由于自己在对数组操作这块比较薄弱,然后经高人指点,需要好好的攻读一下这本书籍,原本想这个书名就比较高深,这下不好玩了.不过看着看着突然觉得讲的东西都比较基础.不过很多东西,平时还是没有注意到,故写出读书笔记和诸君共勉! 第二张 2.2.1 创建一个数组 创建数组的方式有?那种比较高效?原因是? 第一种模式 var nums = []; var numbers = [1,2,3,4,5];console.log(numbers.length)//5 第二种模式 var nums = new Arr

JavaScript读书笔记(2)--数据类型

1.  严格模式:在javascript中定义了一种不同的解析与执行模型.在严格模式下,一些不确定的行为将得到处理,对某些不安全的操作也会抛出错误. 用法是在脚本中添加:”use strict”; 这是一个编译指示,用于告诉引擎切换到严格模式: 2.  Javascript中的语句,若没有带分号,由解析器确定语句的结尾,但不推荐这么做: Javascript关键字: break,case,catch,continue,debugger*,default,delete,do,else,finall

数据访问---高性能JavaScript读书笔记(2)

对于任何一种编程语言来说,数据存储的位置关系到访问速度! 在JavaScript中的直接量包括字符串string.数字number.布尔值boolean.对象object.数组array.函数function.正则表达式regular expression.空值null.未定义数组undefined.而数组项则需要通过数组的数字索引来访问,对象通过字符串进行索引来访问其成员(这里顺便提一句因为数组项是通过数字进行索引.对象成员是通过字符串进行索引,所以这也就是为什么访问对象成员比访问数组项更慢的

javascript闭包(Effective JavaScript读书笔记)

Effective JavaScript:编写高质量JavaScript代码的68个有效方法: Item 11:   Get Comfortable with Closures Closures may be an unfamiliar concept to programmers coming from languages that don’t support them. And they may seem intimidating at first. But rest assured tha

JavaScript读书笔记(4)-Object Date

1.Object类型 (1)创建Object实例 第一种方式:new操作符后跟Object构造函数 var person=new Object(); person.name=”Nicholas”; person.age=29; 第二种方式:对象字面量表示法(简化创建包含大量属性的对象的过程) var person={ name:”Nicholas”, age:29 } var person={}  等同于var person=new Object(); 在通过对象字面量定义对象时,实际上不会调用

JavaScript读书笔记(4)-变量、作用域和内存问题

1.ECMAScript数据类型分为:基本类型值和引用类型值: ECMAScript中所有函数的参数都是按值传递的: 检查对象的类型:varible instanceof constructor Alert(person instanceof Object); 2.  执行环境和变量 每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中: 全局执行环境是最外围的一个指定环境,在web浏览器中,全局执行环境是window对象,所有的全局变量和函数都是window对象

&lt;JavaScript 读书笔记二&gt;

1.类与对象 在JS中,创建对象(Create Object)并不完全是我们时常说的创建类对象,JS中的对象强调的是一种复合类型,JS中创建对象及对对象的访问是极其灵活的.JS对象是一种复合类型,它允许你通过变量名存储和访问,换一种思路,对象是一个无序的属性集合,集合中的每一项都由名称和值组成(听起来是不是很像我们常听说的HASH表.字典.健/值对?),而其中的值类型可能是内置类型(如number,string),也可能是对象.(在笔记一种有代码示例) 2.用 function 关键字模拟 cl