js字符串操作进阶篇

在前一段时间写过js中出境频次较高的字符串操作方法这篇博客,在博客中所涉及的知识点都是一个前端工作人员必须掌握的。今天对上篇博客进行升华。

1.String对象是javascript原生提供的三个包装对象之一,用来生成字符串对象。

let s1 = 'abc';
let s2 = new String('abc');
//获取s1 s2的类型
typeof s1;//"string"
typeof s2;//"object"
s2.valueof();//"abc"

2.字符串对象是一个类似数组的对像

new String('abc');//String {0: "a" ,1: "b",2: "c",length: 3}
// 通过索引获取指定位置字符串
(new string('abc'))[1] // 'b'

3.将任意类型的值转化为字符串

String(true)// "true"
String(5) // "5"
String(null) // "null"
String(undefined) // "undefined"
String(NaN)//"NaN"

4.String.fromCharCode() 定义在对象本身上的静态方法而非实例,参数可以为一个或多个数值,代表的是Unicode码点,返回值是这些码点组成的字符串

// 参数为空,返回空字符串
String.fromCharCode(); //""
String.fromCharCode(97);// "a"
// 参数可以为多个
String.fromCharCode(104,101,108,108,111) // "hello"
// 不支持Unicode码点大于0xFFFF的字符 自动把多余的去掉
 String.formCharCode(0x20BB7) === String.fromCharCode(0x0BB7) // true

5.String.prototype.charAt() 返回指定位置的字符 参数是从0开始的参数,如果参数为负数或者大于字符串长度返回空串

'abc'.charAt[1] // "b"
'abc'[1] // b
// 参数为空
'abc'.charAt(0)//"a"
// 参数大于字符串长度
'abc'.charAt(3)//""

6.String.prototype.charCodeAt()  返回字符串指定位置的Unicode码点(十进制方法)相当于String.fromCharCode()的逆操作

'abc'.charCodeAt(1); // 98
// 参数为空 默认返回第一个
'abc'.charCodeAt('') ;// 97
// 参数为负数 或者 大于等于字符串的长度 返回 NaN
'abc'.charCodeAt(-1); // NaN
'abc'.charCodeAt(4); // NaN

7.String.prototype.slice()        字符串截取,返回新字符串 不改变原字符串   参数1 起始位置   参数2 结束位置

// 参数为负数 表示从结尾开始倒数计算的位置,既该负值加上字符串长度
'JavaScript'.slice(-6) // "Script"
'JavaScript'.slice(0,-6) // "Java"
'JavaScript'.slice(-2,-1) // "p"
// 参数1 大于 参数2 返回一个空字符串
'JavaScript'.slice(2,1) // " "

7.String.prototype.substring()     字符串截取 , 返回新字符串 不改变原字符串   参数1 起始位置   参数2 结束位置

// 如果第一个参数大于第二个参数,substring()方法会自动更换参数的位置
'JavaScript'.substring(10,4) // "Script"
'JavaScript'.substring(4,10) // "Script"
// 如果参数为负数,substring方法会自动将负数转化为0
'JavaScript'.substring(-3) // "JavaScript"
// 第二个参数先转化为0 ,再互换位置
'JavaScript'.substring(4,-3) // "Java"

8.String.prototype.substr()     字符串截取 , 返回新字符串 不改变原字符串   参数1 起始位置   参数2 字符串的长度

// 参数1为负数 表示倒数计算的字符的位置
'JavaScipt'.substr(-6) // "Script"
// 参数2为负数,将自动转为 0 字符串长度为0 返回空字符串
'JavaScript'.substr(4,-1) // ""

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值