《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的作用域问题了,首先我们要知道作用域一般有两种主要的工作类型,一种是词法作用域,一种是 ...
随机推荐
- PHP获取网卡的MAC地址原码;目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址
声明转换于其它博客当中的. <?php /** 获取网卡的MAC地址原码:目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址 **/ class GetMacAddr{ var $ ...
- html中子界面与父界面相互操作或传值
一.在使用iframe的页面,要操作这个iframe里面的DOM元素可以用: contentWindow.contentDocument(测试的时候chrom浏览器,要在服务器环境下) content ...
- vue之导入Bootstrap以及jQuery的两种方式
Vue引入bootstrap主要有两种方法 方法一:在main.js中引入,此方法导入的bootstrap中对于html,body的一些预设置的css样式可能无效. 一.引入jQuery 在当前项目的 ...
- 利用js键盘事件制作会移动效果
会移动的方块 描述 按键盘上的方向键方块会移动,按住alt键和方向键进行大幅度移动 <!DOCTYPE html> <html lang="en"> < ...
- 微信h5支付源码DEMO参考
类库代码 wechatH5Pay.php <?php //use Flight; /** * 微信支付服务器端下单 * 微信APP支付文档地址: https://pay.weixin.qq.co ...
- Ubuntu安装VirtualBox以及CentOS7.5联网设置
一.virtualBox的安装 官方Liunx版本下载地址: https://www.virtualbox.org/wiki/Linux_Downloads 这里选择下载ubuntu 16.04 ...
- [转]Mysql 存储过程和函数区别
http://blog.csdn.net/wangsifu2009/article/details/6725213 存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用 ...
- POJ1456 Supermarket 并查集
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - POJ1456 题意概括 一家超市,要卖出N种物品(每种物品各一个),每种物品都有一个卖出截止日期Di(在该 ...
- BZOJ1088 [SCOI2005]扫雷Mine 动态规划
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1088 题意概括 扫雷.只有2行.第2行没有雷,第一行有雷.告诉你第二行显示的数组,问有几种摆放方式 ...
- BZOJ1053 [HAOI2007]反素数ant 数论
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 传送门 - BZOJ1053 题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正 ...