javascript - 关于 String 与 Array 转换的问题
高洛峰
高洛峰 2017-04-11 12:12:57
0
1
457

是这样的,一天我在面试的时候面试官问道怎么重写 String 的 substring 这个方法

String.prototype.substring = function (start, end) {
  var temp = Array.prototype.slice.call(this, start, end)
  return temp.join('')
}

我当时这么写,我当时就想着直接写循环会不会有蠢就这么些了,然后面试官说我这里把 String 强行转成 Array 了,其实我当时写的时候也有点觉得有点问题,就是不知道究竟出在哪里了??????

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(1)
Ty80

String本身就有slice方法
所以这样即可

String.prototype.substring = function (start, end) {
  return this.slice(start, end)
}

但是其实slice方法和substring还是有区别的
对于负数参数,slice()方法会用字符串的长度加上参数,subString()方法将其作为0处理
所以考察的估计还是用这么处理负数吧,所以单纯的用slice也是不全面的。

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!