【Web前端基础知识】String对象(上)

发布 : 优就业IT培训      来源:

2022-08-03 16:25:02

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

  1. var s1 = 'abc';
  2. var s2 = new String('abc');
  3. typeof s1 // "string"
  4. typeof s2 // "object"
  5. s2.valueOf() // "abc"

上面代码中,变量s1是字符串(通过字面量形式创建),s2是对象(通过构造函数形式创建)。由于s2是字符串对象,s2.valueOf方法返回的就是它所对应的原始字符串。

除了用作构造函数,String对象还可以当作工具方法使用,将任意类型的值转为字符串。

  1. String(true) // "true"
  2. String(5) // "5"

上面代码将布尔值true和数值5,分别转换为字符串。

实例属性:String.prototype.length

字符串实例的length属性返回字符串的长度。

  1. 'abc'.length // 3

实例方法

String.prototype.charAt()

charAt方法返回指定位置的字符,参数是从0开始编号的位置。

  1. var s = new String('abc');
  2. s.charAt(1) // "b"
  3. s.charAt(s.length - 1) // "c"

这个方法完全可以用数组下标替代。

  1. 'abc'.charAt(1) // "b"
  2. 'abc'[1] // "b"

如果参数为负数,或大于等于字符串的长度,charAt返回空字符串。

  1. 'abc'.charAt(-1) // ""
  2. 'abc'.charAt(3) // ""

String.prototype.charCodeAt()

charCodeAt()方法返回字符串指定位置的 Unicode 码点(十进制表示)。

  1. 'abc'.charCodeAt(1) // 98

上面代码中,abc的1号位置的字符是b,它的 Unicode 码点是98。

如果没有任何参数,charCodeAt返回首字符的 Unicode 码点。

  1. 'abc'.charCodeAt() // 97

如果参数为负数,或大于等于字符串的长度,charCodeAt返回NaN。

  1. 'abc'.charCodeAt(-1) // NaN
  2. 'abc'.charCodeAt(4) // NaN

String.prototype.concat()

concat方法用于连接两个字符串,返回一个新字符串,不改变原字符串。

  1. var s1 = 'abc';
  2. var s2 = 'def';
  3. s1.concat(s2) // "abcdef"
  4. s1 // "abc"

该方法可以接受多个参数。

  1. 'a'.concat('b', 'c') // "abc"

如果参数不是字符串,concat方法会将其先转为字符串,然后再连接。

  1. var one = 1;
  2. var two = 2;
  3. var three = '3';
  4. ''.concat(one, two, three) // "123"
  5. one + two + three // "33"

在上面代码中,concat方法将参数先转成字符串再连接,所以返回的是一个三个字符的字符串。作为对比,加号运算符在两个运算数都是数值时,不会转换类型,所以返回的是一个两个字符的字符串。

String.prototype.slice()

slice方法用于从原字符串取出子字符串并返回,不改变原字符串。它的第一个参数是子字符串的开始位置,第二个参数是子字符串的结束位置(不含该位置)。

  1. 'JavaScript'.slice(0, 4) // "Java"

如果省略第二个参数,则表示子字符串一直到原字符串结束。

  1. 'JavaScript'.slice(4) // "Script"

如果参数是负值,表示从结尾开始倒数计算的位置,即该负值加上字符串长度。

  1. 'JavaScript'.slice(-6) // "Script"
  2. 'JavaScript'.slice(0, -6) // "Java"
  3. 'JavaScript'.slice(-2, -1) // "p"

如果第一个参数大于第二个参数,slice方法返回一个空字符串。

  1. 'JavaScript'.slice(2, 1) // ""

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部