优选主流主机商
任何主机均需规范使用

substring和substr的区别是什么

substring()substr() 都是 JavaScript 字符串对象的方法,用于截取字符串。它们的区别在于:

  1. 参数不同:substring() 方法接受两个参数,分别表示起始位置和结束位置(不包括结束位置对应的字符),而 substr() 方法接受两个参数,第一个参数表示起始位置,第二个参数表示要截取的字符个数。
  2. 负数处理方式不同:当传入负数参数时,substring() 方法会将其视为 0,而 substr() 方法则将其视为相对于字符串末尾的偏移量。

下面是一些具体的例子:

var str = "hello world";

console.log(str.substring(3, 7)); // 输出 "lo w"
console.log(str.substr(3, 4)); // 输出 "lo w"

console.log(str.substring(7, 3)); // 输出 "lo w"(起始位置和结束位置会自动调整)
console.log(str.substr(7, -2)); // 输出 ""(负数参数转换为 0)

console.log(str.substring(-3, 8)); // 输出 "hello "(负数参数转换为 0)
console.log(str.substr(-3, 2)); // 输出 "rl"(-3 表示倒数第三个字符,2 表示截取两个字符)

需要注意的是,由于 substring()substr() 方法都是截取字符串的操作,因此如果传入的参数超出了字符串的长度范围,它们都会自动调整参数以适应字符串的长度。但是这种行为可能会导致一些意想不到的结果,因此在使用这两个方法时需要特别小心。

未经允许不得转载:搬瓦工中文网 » substring和substr的区别是什么