是否有一个包含丰富的常用功能的javascript库?

时间:2010-04-18 05:45:46

标签: javascript javascript-framework high-level

我发现大多数知名的javascript库中缺少许多高级函数,例如jquery,YUI等。以字符串操作为例,startsWith,endsWith,contains,lTrim,rTrim,trim,isNullOrEmpty ......等。这些功能实际上很常见。

我想知道是否存在填充这些空白(包括但不限于字符串操作)的javascript库的javascript库/插件?

如果库没有覆盖原型,那将会很棒。

5 个答案:

答案 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等。