我知道我可以并且可能应该使用substring
:)
出于教育原因,我想知道为什么我不能使用call
对字符串进行拼接操作,我理解这是一个类似数组的对象。看起来这应该有效:
Array.prototype.splice.call('filename.jpg', -3, 3).join(''); // return the last three chars
在V8中引发错误TypeError: Object.isSealed called on non-object
。
答案 0 :(得分:4)
在Javascript中,字符串是不可变的;它们在创建后无法更改。所以没有“set char”或“splice”方法,因为无法更改字符串。但是,您可以在其上调用split('')
将其转换为数组,这样您就可以使用'filename.jpg'.split('').splice(-3, 3).join('')
获得相同的效果。
答案 1 :(得分:2)
您需要先将其转换为数组对象
Array.prototype.splice.call('filename.jpg'.split(''), -3, 3).join('');