EMCAScript 内置对象常用方法

String

1. 字符串截取相关

String.prototype.substring()
String.prototype.substr() (可能在未来弃用,不推荐使用)

2. 字符串匹配、查找相关

String.prototype.match()
String.prototype.includes()

3.字符串补全

String.prototype.padStart()
String.prototype.padEnd()


RegExp


特殊用法总结

进制转换

注意:因为8进制、16进制的Number最终都会被转换成10进制进行计算,所以在进制转换时,我们可以认为Number类型的数值都为10进制,其它进制均由String表示

1. X进制转10进制

1.1 parseInt():任意进制

使用全局函数parseInt(str, [radix])

  • 有八进制前导0,十六进制前导0x的情况下可忽略radix参数,且可直接输入字面值(不用字符串)
parseInt(0xaf); // 175
  • 在没有字母的情况下也可以不用字符串
parseInt("1110", 2)  === parseInt(1110, 2); //true
parseInt(11, 5)  // 6
  • 任意奇怪的进制都能转换,大小写不影响结果
parseInt("Az", 36); // 395

1.2 Number():(八进制,十六进制)

使用Number(),入参为八进制、十六进制数,数值或字符串均可

Number(070);  // 56
Number("0xAF"); // 175

2. 10进制转X进制

使用Number.prototype.toString([radix])

let a = 160;
a.toString(16);  // "a0"
(-19).toString(2); // "-10011"

3. X进制转Y进制

互相转换比较麻烦,我们可以先转换成10进制,再转换成Y进制

// e.g. BIN to HEX
parseInt("101101", 2).toString(16);  // "2d"

// e.g. HEX to OCT
parseInt(0x67).toString(8);  // "147"
总结
  • X转10:parseInt(Xstr [, Xradix])
  • 10转X:numObj.toString(Xradix)
  • X转Y:parseInt(Xstr [, Xradix]).toString(Yradix)
缩写
  • 二进制:Binary,BIN
  • 八进制:Octal,OCT
  • 十进制:Decimal,DEC
  • 十六进制:Hexadecimal,HEX
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容