《JavaScript-The Definitive Guide》读书笔记:字符串常用方法
concat()
连接多个字符串,返回合并后的字符串。
var s1="a";
var s2="b";
var s3="c"; console.log(s1.concat(s2,s3));//abc
concat() 方法的结果等同于:result = s1 + s2 + ... + sN。如果有不是字符串的参数,则它们在连接之前将首先被转换为字符串。
数组中的concat():将参数添加为数组的元素,返回新的数组。
var arr = [1, 2, 3];
console.log(arr.concat(4, 5));//[1,2,3,4,5]
indexOf()
查找子串第一次出现的索引。
var s="abcd";
console.log(s.indexOf("b"));//
若没有匹配项,返回 -1。
var s="abcd";
console.log(s.indexOf("e"));//-1
可以传入第二个参数:fromIndex,表示从索引位置fromIndex开始查找,默认从起始索引0开始查找;若fromIndex为负,则从索引0开始查找。
var s = "aba";
console.log(s.indexOf("a", 0));//
console.log(s.indexOf("a", 1));//
console.log(s.indexOf("a", -1));//
该方法对大小写敏感。
var s="Aba";
console.log(s.indexOf("a"));//
lastIndexOf()
类似 indexOf() ,但从右往左查找。
var s = "aba";
console.log(s.lastIndexOf("a"));//
也可指定起始索引,默认从最大索引开始查找。
var s = "aba";
console.log(s.lastIndexOf("a",1));//
charAt()
返回指定索引位置的字符(因为Javascript中没有字符类型,所以返回的是长度为1的字符串)。
var s="abc";
console.log(s.charAt(1));//b
若索引越界,返回空字符串。
var s="abc";
console.log(s.charAt(-1));//""
substr()
substr(fromIndex,length):从起始索引fromIndex开始截取长度length的字符串。
var s="abc";
console.log(s.substr(1,1));//b
若length < 1,返回空字符串。
var s="abc";
console.log(s.substr(1,-1));//""
若不指定length或者length超过可截取的最大长度,则截取到结尾。
var s="abc";
console.log(s.substr(1));//bc
console.log(s.substr(1,10));//bc
若起始索引为负,则从右往左开始截取(从右往左的索引从-1开始)。
var s="abc";
console.log(s.substr(-1,1));//c
substring()
substring(startIndex,endIndex):截取起始索引startIndex到结束索引endIndex的子字符串,结果包含startIndex处的字符,不包含endIndex处的字符。
var s="abc";
console.log(s.substring(1,2));//b
若startIndex或者endIndex为负,则会被替换为0。
var s="abc";
console.log(s.substring(-1,2));//ab
若startIndex和endIndex相等,则返回空字符串。
若startIndex > endIndex,则执行方法时,两个值会被交换。
var s="abc";
console.log(s.substring(2,1));//b
若不指定endIndex或endIndex超出最大索引,则截取到结尾。
var s="abc";
console.log(s.substring(1));//bc
console.log(s.substring(1,10));//bc
slice()
slice(startIndex,endIndex):截取起始索引startIndex到结束索引endIndex的子字符串,结果包含startIndex处的字符,不包含endIndex处的字符。
var s="abc";
console.log(s.slice(1,2));//b
若startIndex或者endIndex为负,表示该索引是从右往左计算的索引(跟substring不同)。
var s="abc";
console.log(s.slice(1,2));//b
//等价于
console.log(s.slice(1,-1));//b
//等价于
console.log(s.slice(-2,-1));//b
//等价于
console.log(s.slice(-2,2));//b
若startIndex所表示的索引位置等于endIndex所表示的索引位置,或者startIndex所表示的索引位置在endIndex所表示的索引位置之后,则返回空字符串(跟substring不同)。
var s="abc";
console.log(s.slice(1,1));//""
console.log(s.slice(-1,-2));//""
split()
按给定字符串分割,返回分割后的多个字符串组成的字符串数组。
var s="a,bc,d";
console.log(s.split(","));//["a", "bc", "d"] s="a1b1c1d1";
console.log(s.split("1"));//["a", "b", "c", "d", ""]
《JavaScript-The Definitive Guide》读书笔记:字符串常用方法的更多相关文章
- 《javascript权威指南》读书笔记——第二篇
<javascript权威指南>读书笔记——第二篇 金刚 javascript js javascript权威指南 今天是今年的196天,分享今天的读书笔记. 第2章 词法结构 2.1 字 ...
- 《javascript权威指南》读书笔记——第一篇
<javascript权威指南>读书笔记——第一篇 金刚 javascript js javascript权威指南 由于最近想系统学习下javascript,所以开始在kindle上看这本 ...
- 《JavaScript高级程序设计》读书笔记--前言
起因 web编程过程使用javascript时感觉很吃力,效率很低.根本原因在于对javascript整个知识体系不熟,看来需要找些书脑补一下,同时欢迎众网友监督. 大神推荐书籍 看了博客大神们推荐的 ...
- 《javascript权威指南》读书笔记(连载)
这是一篇很长的博客 终于把权威指南给买回来了,之前一直犹豫,第一:书太厚,怕买了不能坚持看完.第二:觉得太贵,最少100¥.现在实习也能发点工资了,给自己定了一个志愿:把一个月的工资用于买书.这么一想 ...
- 《JavaScript权威指南》读书笔记(一)
日期 2015-11-28 把之前的读书笔记在我弄丢它之前搬过来~~ 时间过去好久,回头一看理解都不一样了. 重点浏览了一下和Java的不同之处: js是一种宽松类型语言:js不区别整形数值与浮点型数 ...
- 《Javascript高级程序设计》读书笔记之对象创建
<javascript高级程序设计>读过有两遍了,有些重要内容总是会忘记,写一下读书笔记备忘 创建对象 工厂模式 工厂模式优点:有了封装的概念,解决了创建多个相似对象的问题 缺点:没有解决 ...
- 《JavaScript 高级程序设计》读书笔记
文章目录 第三章 基本语法 第四章 变量.作用域和内存问题 第五章 应用类型 1. Array 类型 2. RegExp 类型 3. Function 类型 4. String 类型 第六章 面向对象 ...
- 《Javascript高级程序设计》读书笔记(1-3章)
第一章 JavaScript简介 1.1 JavaScript简史 略 1.2 JavaScript实现 虽然 JavaScript 和 ECMAScript 通常都被人们用来表达相同的含义,但 Ja ...
- JavaScript语言精粹(读书笔记)
第一章 精华 1,JavaScript的函数(主要)基于词法作用域(lexical scoping)的顶级对象.强类型语言允许编译器在编译时检测错误,但弱类型很自由,无需建立复杂的类层次,不用做强制造 ...
- 你不知道的Javascript(上卷)读书笔记之二 ---- 词法作用域
在前一篇文章中,我们把作用域定义为"管理.维护变量的一套规则",接下来是时候来深入讨论一下Js的作用域问题了,首先我们要知道作用域一般有两种主要的工作类型,一种是词法作用域,一种是 ...
随机推荐
- (并发编程)全局解释器锁(GIL)-----有了GIL不用给线程加锁了?
一.全局解释器锁 (GIL)运行test.py的流程:a.将python解释器的代码从硬盘读入内存b.将test.py的代码从硬盘读入内存 (一个进程内装有两份代码---一份cpython解释器代码 ...
- Centos socket TCP代码
一.功能描述: 能够在Centos中创建TCP socket,实现Client给Server发送消息,Server能够Client发送消息. 二.代码如下: ①client代码: #include & ...
- PYTHON-函数的定义与调用,返回值,和参数
函数基础'''1. 什么是函数 具备某一功能的工具->函数 事先准备工具的过程--->函数的定义 遇到应用场景,拿来就用---->函数的调用 函数分类两大类: 1. 内置函数 2. ...
- SQL聚合函数
- STL整理之map
转载请注明出处,部分内容引自李煜东<算法竞赛进阶指南> 前置知识: C++.C语言入门 Map是什么 Map是从键(key)到值(value)的映射,其内部实现是一棵以key为关键码 ...
- 微信公众号开发JS-SDK(1.2)
概述 微信js-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统的能力,同时可以直接使用微 ...
- CSS3:透明度
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- ubuntu基本用法
• Linux上vim编辑器缩进的设置 • 从零开始UNIX环境高级编程(0):Linux下运行第一个程序
- Tomcat开启JMX监控 visualvm
Tomcat开启JMX监控 https://blog.csdn.net/dongdong2980/article/details/78476393
- 【AtCoder】Tenka1 Programmer Contest
C - 4/N 列出个方程枚举解一下 #include <bits/stdc++.h> #define fi first #define se second #define pii pai ...