Skip to content

字符串常用方法

都不会影响原字符串:因为字符串是不可变的!

  1. 增删改:replace,replaceAll

  2. 增:repeat,concat,padStart,padEnd

  3. 删:substr,substring,slice,trim,trimStart,trimEnd

  4. 改:split,toLowerCase,toUpperCase,toLocaleLowerCase,toLocaleUpperCase, String.fromCharCode()

  5. 查:valueOf,at,charAt,charCodeAt,indexOf,lastIndexOf,search,includes,match,startsWith,endsWith

charCodeAt与fromCharCode

js
'ABC'.charCodeAt(2) // 67 返回指定索引位的 ASCII 码
String.fromCharCode(65, 66, 67) // 'ABC' 返回 ASCII 码对应的字符

slice 与 substring区别

slice 与 substring

slice 结束索引大于等于 0 时且小于起始索引时,返回空;结束索引大于0从前面计数,小于0从后面计数的原则。

substring 中如果结束索大于起始索引,则会自动将其调换后截取,当参数小于0 时按0处理。

js
const y = 'www.map.baidu.com'
console.log(y.slice(4, 11)) // map.bai
console.log(y.slice(11, 4)) // ''
console.log(y.slice(3, -4)) // .map.baidu
console.log(y.slice(3, 0)) // ''
console.log(y.slice(4)) // map.baidu.com

console.log(y.substring(4, 11)) // map.bai
console.log(y.substring(11, 4)) // map.bai
console.log(y.substring(3, -4)) // www
console.log(y.substring(3, 0)) // www
console.log(y.substring(4)) // map.baidu.com

valueOf 与 toString 的异同

共同点

都是对象的方法,用于将对象转换成可操作的基本类型值。

valueOftoString
返回值原始值或对象本身对象转换成可阅读的字符串
能否接受参数转换基数不可以可以,返回不同进制的字符串形式的数值
Date类型返回现在到1970年1月1日的毫秒数时间的字符串

undefinednull 都没有toString() valueOf() 方法

Object.prototype.toString.toString() 能够很好的判断数据的类型及内置对象

js
Number(10).toString(2) // '1010'
Number(10).valueOf(2) // 10
new Date().toString() // 'Thu Mar 02 2023 11:39:56 GMT+0800 (中国标准时间)'
new Date().valueOf() // 1677728421211