String.prototype.trunc = String.prototype.trunc || function(n){ return (this.length > n) ? this.substr(0, n-1) + '…' : this; };现在您可以执行以下操作:
var s = 'not very long';s.trunc(25); //=> not very longs.trunc(5); //=> not ...
如果“更复杂”是指在字符串的最后一个单词边界处截断,那么这可能就是您想要的:
String.prototype.trunc = function( n, useWordBoundary ){ if (this.length <= n) { return this; } var subString = this.substr(0, n-1); return (useWordBoundary ? subString.substr(0, subString.lastIndexOf(' ')) : subString) + "…"; };现在您可以执行以下操作:
s.trunc(11,true) // => not very...
如果您不想扩展本机对象,则可以使用:
function truncate( n, useWordBoundary ){ if (this.length <= n) { return this; } var subString = this.substr(0, n-1); return (useWordBoundary ? subString.substr(0, subString.lastIndexOf(' ')) : subString) + "…";};// usagetruncate.apply(s, [11, true]); // => not very...


