我发现大多数知名的javascript库中缺少许多高级函数,例如jquery,YUI等。以字符串操作为例,startsWith,endsWith,contains,lTrim,rTrim,trim,isNullOrEmpty ......等。这些功能实际上很常见。
我想知道是否存在填充这些空白(包括但不限于字符串操作)的javascript库的javascript库/插件?
如果库没有覆盖原型,那将会很棒。
答案 0 :(得分:9)
看一下underscore.js(遗憾的是,没有字符串操作,但还有许多其他好东西)。
答案 1 :(得分:3)
大多数字符串函数都可以使用与字符串对象关联的其他方法,例如
var myString = 'hello world';
myString.indexOf('hello') == 0; //same as startsWith('hello');
如果您愿意,可以将这些功能包装到其他功能中。我认为将原型添加到字符串对象将是去那里的方式,你找到的任何库都可能会沿着那条路走下去。
答案 2 :(得分:2)
ms ajax core库包含所有这些字符串方法以及日期方法等。基本上是将.net引入js的勇敢尝试。
您不需要加载整个MS Ajax js堆栈,只需加载核心文件。
答案 3 :(得分:1)
如果您不想扩展原型
,所有这些都可以使用包装器轻松实现var StringWrapper = (function(){
var wrapper = {
string: null,
trim: function(){
return this.string.replace(/^\s+|\s+$/g, "");
},
lTrim: function(){
}
};
return function(string){
wrapper.string = string;
return wrapper;
};
})();
StringWrapper(" aaaa bbbb ").trim(); /// "aaaa bbbb"
这些功能只创建一次,因此非常有效。但是在辅助对象上使用包装器会产生一个额外的函数调用。
答案 4 :(得分:1)
underscore.string看起来可能符合您的需求。以下是他们描述的方式:
Underscore.string是一个JavaScript库,可以方便地操作字符串,Underscore.js的扩展名受Prototype.js,Right.js,Underscore和漂亮的Ruby语言的启发。
Underscore.string为您提供了几个有用的功能:大写,清理,包含,计数,escapeHTML,unescapeHTML,插入,拼接,startsWith,endsWith,titleize,trim,truncate等。