[TOC]
## 字符串常用的一些方法
### 1\. charAt()
~~~
str.charAt(n)
~~~
=> 返回字符串的第 n 个字符,如果不在 0~str.length-1之间,则返回一个空字符串。
~~~
var str = "javascript";
str.charAt(2); //'v'
str.charAt(12); //''
~~~
### 2\. indexOf()
~~~
indexOf(substr[,start])
~~~
=> 返回 substr 在字符串 str 中首次出现的位置,从 start 位置开始查找,如果不存在,则返回 -1。
start可以是任意整数,默认值为 0。如果 start = str.length,则该方法返回 -1,除非被查找的字符串是一个空字符串,此时返回 str.length.
~~~
var str = "javascript";
str.indexOf('s'); // 1
str.indexOf('s',6); // -1
str.indexOf('',11); // 10
str.indexOf('',8); // 8
~~~
### 3\. lastIndexOf()
~~~
lastIndexOf(substr[,start])
~~~
\= > 返回 substr 在字符串 str 中最后出现的位置,从 start 位置 向前开始查找,如果不存在,则返回 -1。
~~~
'lastindex'.lastIndexOf('a'); // 1
~~~
### 4\. substring()
~~~
str.substring(start[, end])
~~~
\= > 返回从 start 到 end(不包括)之间的字符,start、end均为 非负整数。若结束参数(end)省略,则表示从start位置一直截取到最后。
~~~
var str = 'abcdefg';
str.substring(1, 4); //"bcd"
str.substring(1); // "bcdefg"
str.substring(-1); //"abcdefg" 传入负值时会视为0
~~~
### 5\. slice()
~~~
str.slice(start[,end])
~~~
\= > 返回从 start 到 end (不包括)之间的字符,可传负值
~~~
var str = 'this is awesome';
str.slice(4, -1); //" is awesom"
~~~
### 6\. substr()
~~~
str.slice(start[,end])
~~~
\= > 返回 str 中从指定位置开始到指定长度的子字符串,start可为负值
~~~
var str = "Just give me a reason";
str.substr(5, 10); // "give me a "
str.substr(-4, 2); // "as"
~~~
### 7\. replace()
~~~
str.replace(regexp|substr, newSubStr|function)
~~~
\= > 替换 str 的子字符串
~~~
var str = "do you love me";
str.replace('love','hate'); // "do you hate me"
~~~
### 8\. search()
~~~
str.search(regexp)
~~~
\= > 查找 str 与一个正则表达式是否匹配。如果匹配成功,则返回正则表达式在字符串中首次匹配项的索引;否则,返回 -1。如果参数传入的是一个非正则表达式对象,则会使用 new RegExp(obj) 隐式地将其转换为正则表达式对象
~~~
var str = 'I love JavaScript!';
str.search(/java/); // -1
str.search(/Java/); // 7
str.search(/java/i); // 7
str.search('Java'); // 7
~~~
### 9\. match()
~~~
str.match(regexp)
~~~
\= > 返回一个包含匹配结果的数组,如果没有匹配项,则返回 null。如果参数传入的是一个非正则表达式对象,则会使用 new RegExp(obj) 隐式地将其转换为正则表达式对象
~~~
var str = 'Javascript java';
str.match(/Java/); // ["Java"]
str.match(/Java/gi); // ["java", "Java"]
str.match(/ab/g); // null
~~~
### 10\. split()
~~~
str.split([separator][, limit])
~~~
\= >返回一个数组,分隔符 separator 可以是一个字符串或正则表达式
~~~
var str = "Hello?World!";
str.split(); // ["Hello?World!"]
str.split(''); // ["H", "e", "l", "l", "o", "?", "W", "o", "r", "l", "d", "!"]
str.split('?'); // ["Hello", "World!"]
str.split('',5); // ["H", "e", "l", "l", "o"]
~~~
### 11\. trim()
~~~
str.trim()
~~~
\= > 去除 str 开头和结尾处的空白字符,返回 str 的一个副本,不影响字符串本身的值
~~~
var str = ' abc ';
str.trim(); // 'abc'
console.log(str); // ' abc '
~~~
### 12\. toLowerCase()
~~~
str.toLowerCase()
~~~
\= > 将 str 转换为小写,并返回 str 的一个副本,不影响字符串本身的值
~~~
var str = 'JavaScript';
str.toLowerCase(); // 'javascript'
console.log(str); // 'JavaScript'
~~~
### 13\. toUpperCase()
~~~
str.toUpperCase()
~~~
\= > 将 str 转换为大写,并返回 str 的一个副本,不影响字符串本身的值
~~~
var str = 'JavaScript';
str.toUpperCase(); // 'JAVASCRIPT'
console.log(str); // 'JavaScript'
~~~
- HTML
- 标签
- 超链接
- 列表
- 表格和表单
- h5新增标签
- 快捷方式
- 标签包含
- CSS
- 选择器
- 行内,块元素,链接
- css三大特性
- 盒子模型
- 定位
- css可见性
- emment书写
- 文本元素
- 外观属性
- 背景
- 浮动
- ps
- 用户界面样式
- 显示和隐藏
- 过渡
- 2D,3D变形
- 动画animation
- 伸缩布局(CSS3)
- BFC
- 优雅降级和渐进增强
- 3D旋转
- 双飞翼和圣杯
- JS基础
- 输出消息的几种方式
- 数据类型
- Date对象
- Math对象
- Array对象
- 字符串常用方法
- 数据类型转换
- 等号运算
- 代码调试
- 数组
- 函数
- WebAPI
- webapi简介
- 获取页面元素
- 事件
- 属性操作
- 创建元素
- 节点操作
- 事件详解
- BOM
- 位置相关属性
- 拖拽弹窗
- 弹出层加遮罩
- ES6
- let和const
- 解构表达式变化
- 函数优化
- map和reduce
- nrm
- npm
- npm基础
- package.json
- 淘宝镜像
- webpack
- 介绍
- 多入口文件(Multiple entry files)
- Webpack CSS loader加载器
- webpack Image loader 加载图片
- uglify-js压缩打包JS
- webpack构建本地服务器
- vue内部指令
- v-if,v-show,v-for
- v-text,v-html
- v-on
- v-model
- v-bind
- v-pre,v-cloak,v-once
- vue全局api
- Vue.directive 自定义指令
- vue.extend构造器的延伸
- vue.set全局操作
- Vue的生命周期(钩子函数)
- Template 制作模版
- Component 初识组件
- Component 组件props 属性设置
- Component 父子组件关系
- Component 标签
- vue选项
- propsData Option全局扩展数据传递
- computed Option 计算选项
- Methods Option 方法选项
- watch选项监控数据
- Mixins 混入选项操作
- Extends Option 扩展选项
- delimiters 选项
- vue实例和内置组件
- 实例属性
- 实例方法
- 实例事件
- 内置组件 -slot
- vue-cli
- vue-cli介绍
- 项目目录结构
- vue-cli模板
- vue-router
- 简介
- 配置子路由
- 参数传递
- 单页面多路由区域操作
- url传递参数
- vscode