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》读书笔记:字符串常用方法的更多相关文章

  1. 《javascript权威指南》读书笔记——第二篇

    <javascript权威指南>读书笔记——第二篇 金刚 javascript js javascript权威指南 今天是今年的196天,分享今天的读书笔记. 第2章 词法结构 2.1 字 ...

  2. 《javascript权威指南》读书笔记——第一篇

    <javascript权威指南>读书笔记——第一篇 金刚 javascript js javascript权威指南 由于最近想系统学习下javascript,所以开始在kindle上看这本 ...

  3. 《JavaScript高级程序设计》读书笔记--前言

    起因 web编程过程使用javascript时感觉很吃力,效率很低.根本原因在于对javascript整个知识体系不熟,看来需要找些书脑补一下,同时欢迎众网友监督. 大神推荐书籍 看了博客大神们推荐的 ...

  4. 《javascript权威指南》读书笔记(连载)

    这是一篇很长的博客 终于把权威指南给买回来了,之前一直犹豫,第一:书太厚,怕买了不能坚持看完.第二:觉得太贵,最少100¥.现在实习也能发点工资了,给自己定了一个志愿:把一个月的工资用于买书.这么一想 ...

  5. 《JavaScript权威指南》读书笔记(一)

    日期 2015-11-28 把之前的读书笔记在我弄丢它之前搬过来~~ 时间过去好久,回头一看理解都不一样了. 重点浏览了一下和Java的不同之处: js是一种宽松类型语言:js不区别整形数值与浮点型数 ...

  6. 《Javascript高级程序设计》读书笔记之对象创建

    <javascript高级程序设计>读过有两遍了,有些重要内容总是会忘记,写一下读书笔记备忘 创建对象 工厂模式 工厂模式优点:有了封装的概念,解决了创建多个相似对象的问题 缺点:没有解决 ...

  7. 《JavaScript 高级程序设计》读书笔记

    文章目录 第三章 基本语法 第四章 变量.作用域和内存问题 第五章 应用类型 1. Array 类型 2. RegExp 类型 3. Function 类型 4. String 类型 第六章 面向对象 ...

  8. 《Javascript高级程序设计》读书笔记(1-3章)

    第一章 JavaScript简介 1.1 JavaScript简史 略 1.2 JavaScript实现 虽然 JavaScript 和 ECMAScript 通常都被人们用来表达相同的含义,但 Ja ...

  9. JavaScript语言精粹(读书笔记)

    第一章 精华 1,JavaScript的函数(主要)基于词法作用域(lexical scoping)的顶级对象.强类型语言允许编译器在编译时检测错误,但弱类型很自由,无需建立复杂的类层次,不用做强制造 ...

  10. 你不知道的Javascript(上卷)读书笔记之二 ---- 词法作用域

    在前一篇文章中,我们把作用域定义为"管理.维护变量的一套规则",接下来是时候来深入讨论一下Js的作用域问题了,首先我们要知道作用域一般有两种主要的工作类型,一种是词法作用域,一种是 ...

随机推荐

  1. Linux清除文件内容的几种方法

    # 清空或删除大文件内容的五种方法: # 法一:通过重定向到 Null 来清空文件内容 $ >test.sh # 法二:使用 ‘true' 命令重定向来清空文件 $ true > test ...

  2. 转载:2.2 Nginx配置的通用语法《深入理解Nginx》(陶辉)

    原文:https://book.2cto.com/201304/19625.html Nginx的配置文件其实是一个普通的文本文件.下面来看一个简单的例子.user  nobody; worker_p ...

  3. PHP获取网卡的MAC地址原码;目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址

    声明转换于其它博客当中的. <?php /** 获取网卡的MAC地址原码:目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址 **/ class GetMacAddr{ var $ ...

  4. 基于Apache的阿里云部署Node.js服务器(Windows环境)

    1 前言 由于nodejs项目对方开放了多个端口,而且阿里云上的Apache服务器(windows)已经挂载了网站,此时需要把此项目也挂上去,网上查询资料,方法略少,基本是基于nginx版本的. 2  ...

  5. Go语言规格说明书 之 内建函数(Built-in functions)

    go version go1.11 windows/amd64 本文为阅读Go语言中文官网的规则说明书(https://golang.google.cn/ref/spec)而做的笔记,介绍Go语言的 ...

  6. Gradient Domain Guided Image Filtering(梯度域导向滤波)

    作者提出了一种新的梯度域引导图像滤波器,通过将明确的一阶边缘感知约束结合到现有的引导图像滤波器中. matlab代码实现 转载至:https://blog.csdn.net/majinlei121/a ...

  7. [转]centos7 下安装MongoDB

    查看MongoDB的最新版官方下载地址: https://www.mongodb.com/download-center#community 使用wget命令下载安装包 wget https://fa ...

  8. hdu3282 链表或者对顶堆

    维护序列的动态中位数 第一次用链表做题..感觉指针指来指去也挺麻烦的.. 本题链表解法就是用数组模拟出一个链表,然后离线输入所有数,排序,按照输入顺序在链表里删除元素,一次性删掉两个,然后中位数指针对 ...

  9. hdu3193 降维+rmq

    /* 给定n个数对(p,d),如果有这么一个数对(pi,di),其他所有的数对都不能严格小于这个数对 请求出有多少个这样的数对! 解法:对于数对(p,d),能找到在[1,p-1]之间的小于d的数对,那 ...

  10. linux上apache并发数与服务器内存关系计算!

    Linunx(本次为ubuntu) apache! 连接数理论上当然是支持越大越好,但要在服务器的能力范围内,这跟服务器的CPU.内存.带宽等都有关系. 查看当前的连接数可以用: ps aux | g ...