是这样的,一天我在面试的时候面试官问道怎么重写 String 的 substring 这个方法
String.prototype.substring = function (start, end) {
var temp = Array.prototype.slice.call(this, start, end)
return temp.join('')
}
我当时这么写,我当时就想着直接写循环会不会有蠢就这么些了,然后面试官说我这里把 String 强行转成 Array 了,其实我当时写的时候也有点觉得有点问题,就是不知道究竟出在哪里了??????
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
String本身就有slice方法所以这样即可
但是其实
slice方法和substring还是有区别的对于负数参数,
slice()方法会用字符串的长度加上参数,subString()方法将其作为0处理所以考察的估计还是用这么处理负数吧,所以单纯的用
slice也是不全面的。