JS中关于字符串的一些细节
在JS中所有用单引号或者上引号包起来的都是字符串 , 没一个字符串都是由零到多个字符组成
var str = 'peixun';
str.length -> 字符串长度
str[0]'p'
str[str.length-1] ->'n'
str[100] -> undefined
//=>字符串中的每一个字符都有一个自己对应位置的索引 , 也有类似于数组一样的
length代表自己的长度
//=>循环遍历字符串 , 输出每一项字符
for(var i = 0 ; i<str.length; i++){
console.log(str[i]);
}
复制代码
关于字符串中常用的方法
字符串是基本数据类型 , 字符串的每一次操作都是值直接进行的操作 , 不像数组一样是基于空间地址来操作的 , 所以不存在原有字符串是否改变这一说 ,肯定都是不变的
charAt/charCodeAt
作用 : charAt 根据索引获取指定位置的字符 , charCodeAt 不仅仅获取字符 , 他获取的是字符对应的Unicode 编码值 ( ASC II 码值 ) 参数 : 索引 返回 : 字符或者对应的编码
indexOf/lastIndexOf
基于这两个方法 ,可以获取字符在字符串中第一次或者最后一次出现位置的索引 , 有这个字符 , 返回大于零的索引 , 不包含这个字符 , 返回的结果是-1 ,所以可以基于这两个方法 , 验证当前字符串中是否包含某个字符
var str = 'zhufengpeixun';
if(str.indexOf('@')>-1){
//=>条件成立说明包含@符号
}
复制代码
slice
作用 : str.slice( n , m ) 从索引n开始找到索引为m处(不包含m) ,把找到的字符当作新字符串返回
substring
和slice语法一摸一样 , 唯一的区别在于 : slice 支持附属索引 ,而substring不支持负数索引
substr
也是字符串截取的方法 , 用法是 : str.substr( n, m ) , 从索引n开始截取m个字符
toUpperCase /toLowerCase
实现字母大小写转换 , toUpperCase 小写转大写 ,toLowerCase 大写转小写
split
和数组中的join 相对应 , 数组中的join是把数组们的某一项按照指定的连接符变为字符串 ,而spit是吧字符串按照指定的分隔符 , 拆分成数组每一项
replace
作用 : 替换字符串中的原有字符 参数 : 原有字符 , 要替换的新字符 返回 : 替换后的字符串
//=>把珠峰替换成 “珠峰”
var str = 'zhufeng2017zhufeng2018';
str = str.replace('zhufeng','珠峰');
//=>在不使用正则的情况下 ,每执行依次replace只能替换一个 “珠峰zhufeng2018”
str = str.replace('zhufeng','珠峰') ;
//=>“ 珠峰2017珠峰2018”
//============
str = str.replace(/zhufneg/g,'珠峰');
字符串中还有很多常用方法 , 回去后大家可以自己扩展一下;
(String.prototype)
- includes
- localCompare
- search
- trim
复制代码
真是项目中的需求
1.时间字符串格式化
有一个时间字符串 " 2018-4-4 16:26:8 " , 我们想基于这个字符串获取到 "04月04日 16时26分 "
暂时提高眼界的
URL地址问号传参解析
有一个URL地址 “www.zhufengpeixin.cn/stu?x=1$nam… { x:1 name:'AA' sex:'man' }
这是我建的qq群里面有很多资源,希望能和大家一起学习讨论共同进步!
这是群号:778734441
这是跟着周啸天老师一起学的笔记,后期我还会分享更好的资料给大家,希望大家多多支持,我会发布很多优秀的作品出来的!!!