##前言
js中最常见的数据类型,使用最广泛
## 对象属性:
* length
## 常用的方法:
1. charAt() 制定位置的字符
1. replace() 替换字符
1. toLowerCase()小写
1. concat() 字符连接
1. split() 根据分隔符分割
1. toUpperCase()大写
1. indexOf() 检索字符串
1. substring()获取子字符串
1. search() 检索与匹配值
1. formCharCode() 返回制定位置的字符
1. charCodeAt() 返回字符的指针
## es6拓展
* codePointAt
针对某些unicode编号大于0xffff的字符,js会认为它是两个字符,不能正确解析,比如部分汉字。对于能够正确解析的与charCodeAt方法相同的。
实践:可以通过这个鉴别一个字符是两个字节还是4个字节组成的。
~~~
function is32Bit(c){
return c.codePointAt(0)>0xFFFF;//4个字节组成的返回true ,其他返回false
}
~~~
* fromCodePoint()
与上面的方法作用相反,根据编码返回汉字。
~~~
String.fromCodePoint(21513)//吉
var s="吉";
s.codePointAt(0)//21513
~~~
* 字符的unicode表示法
允许用‘\uxxxx’表示一个字符,其中xxxx代表字符的unicode的编号。
但是这种局限于在\u0000--\uffff之间的字符,超出这个范围的字符必须用两个双字节来表示。
* 正则表达式的u修饰符(部分语法只有在谷歌的v8引擎支持)
es6对正则里的追加了这个字符,主要用来区分某些汉子的长度识别错误.比如:。
~~~
var s=String.fromCodePoint(134071);//
console.log(s.length);//2 实际只有一个汉字
var reg=/^.$/;
reg.test(s); //测试不通过 为两个字符
var reg2=var reg=/^.$/u;
reg2.test(s); //测试通过 为1个字符
~~~
* contains ,startsWith,endsWith
contains() 返回布尔值,之前的方法是indexOf(),通过返回是否是-1来判断是否有该字符。联想如果没有indexOf,也可以用正则的方式来判断,只不过比较麻烦而已。
startsWith() 返回布尔值,表示参数字符串是否在源字符串的头部
endsWith() 返回布尔值,表示参数字符串是否在源字符串的末尾
* repeat() 返回一个新字符串,将原来的字符串重复n遍
"sfcsc".repeat(n);
* 正则表达式的y修饰符
表示黏连,也就是第一个和第二个必须连在一起的,如果不满足连在一起,只能返回第一个。
~~~
var s="aaa-aa-a";
var reg=/a+/g;
var reg2=/a+/y;
reg.exec(s)
reg2.exec(s)
~~~
* 模板字符串
增强版的字符串,用反引号标识,可以当做普通字符串标识,也可以定义多行字符串或者嵌入变量,用途:你在拼接字符串的时候针对变量可以直接用定义好的变量插入即可,避免了字符串的低效率拼接。
~~~
单行字符串
`sdvs``dbfdb`
多行字符串
`sfvrs
eevg`
嵌入变量
var doc='黎明';
var t=`${doc} is a good doctor`;
~~~
- 前端入门
- 前端入职须知
- 前端自我定位
- pc与手机页面差别
- 前端书单
- 前端种子计划
- 前端技术栈
- ps
- ps入门阶段
- html
- html入门
- html代码规范
- meta
- table
- iframe
- a标签详解
- image
- html代码审查工具
- h5专题
- h5入门
- h5新增属性
- canvas画布教程
- audio/video
- Geolocation
- Websockets
- Web storage
- Communication
- Web Workers
- requestAnimationFrame
- css
- css入门必学
- css代码规范
- 项目字体规范
- css基本位置布局
- css常见样式命名规则
- css代码优化建议
- css常用样式名
- css选择器攻略
- css盒子模型的理解
- css属性继承与默认值
- css代码审查工具
- css中常见的知识盲区
- css3新特性浅谈
- css新特性了解
- border-radius
- background
- transform
- animation
- white-space
- css常用技术
- 文本两端对齐
- css之浮动解决方案
- css优化建议
- 文本超出省略
- img-sprites
- rem布局教程
- 水平居中&垂直居中
- 固宽&变宽布局
- 宽高固定比例的盒模型
- 样式预处理语言
- less教程
- sass教程
- postcss教程
- js
- javascript入门
- js代码规范
- js基础拓展
- js代码审查工具
- js性能优化
- js基本语句
- 基本运算
- 基本语句语法
- js对象
- es6入门
- obj
- Array
- Date
- String
- Boolean
- Number
- Json
- RegExp
- Math
- function
- jquery入门
- jq核心思想
- jq基本语法
- jq插件库汇总
- js常用技术
- break&continue区别
- js对日期转换
- js控制运动-move.js
- 原生js-cookie语法
- ajax请求后回调
- 表单数据序列化
- zepto
- zepto入门
- 百度touchjs
- js编程
- 插件库
- 功能性插件
- pdfjs
- wdatepicker
- qrcoder
- barcode插件
- photoviewer
- hammer.js
- echarts
- 交互组件
- layerjs
- java
- java入门
- java基本语句
- springMVC
- javaweb
- vm模板引擎
- freemarker
- maven教程
- mySql教程
- flex教程
- flex入门
- git教程
- git入门
- git分支
- git-tag管理
- git注意事项
- git-torise入门
- ide-git插件使用
- web
- web兼容
- web兼容思想
- pc端兼容适配文档
- pc端兼容bug汇总
- ie兼容bug汇总
- 手机兼容bug汇总
- web安全
- jeecms
- web存储
- app/h5组件
- 安卓教程
- ios教程
- 前端教程
- rubikx的教程
- 其他
- artTemplate
- tmod使用
- 跨域问题
- markdown教程
- 常用工具
- postman-api调试
- web常识
- 浏览器ua统计
- ui框架
- easyui
- bootstrap
- 入门推荐
- weui
- sui-pc
- sui-mobile
- layerUi