Есть ли библиотека JavaScript, которая содержит богатый набор часто используемых функций очень высокого уровня? - PullRequest
7 голосов
/ 18 апреля 2010

Я считаю, что многие функции высокого уровня отсутствуют в большинстве известных библиотек JavaScript, таких как jquery, YUI ... и т. Д. Взяв в качестве примера манипуляции со строками, beginSith, заканчиваетсяWith, содержит lTrim, rTrim, trim, isNullOrEmpty ... и т. Д. Эти функции на самом деле очень распространены.

Я хотел бы знать, существует ли библиотека javascript / плагин библиотеки javascript, которая заполняет эти пробелы (включая, но не ограничиваясь манипулированием строками)?

Было бы замечательно, если бы библиотека не перекрывала прототип.

Ответы [ 5 ]

9 голосов
/ 18 апреля 2010

Взгляните на underscore.js (к сожалению, никаких манипуляций со строками, но много другого хорошего).

3 голосов
/ 18 апреля 2010

Большинство из этих строковых функций доступны с использованием других методов, связанных с строковым объектом, например

var myString = 'hello world';

myString.indexOf('hello') == 0; //same as startsWith('hello');

Вы можете обернуть эти функции в другие функции, если хотите. Я думаю, что добавление прототипов к строковому объекту было бы способом пойти туда, и любые библиотеки, которые вы найдете, вероятно, будут идти по этому пути в любом случае.

2 голосов
/ 18 апреля 2010

Библиотека ms ajax core содержит все эти строковые методы, а также методы даты и т. Д. В основном это смелая попытка привести .net к js.

Вам не нужно загружать весь стек MS Ajax js, только основной файл.

1 голос
/ 30 октября 2013

underscore.string выглядит так, как будто это может удовлетворить ваши потребности. Вот как они это описывают:

Underscore.string - это библиотека JavaScript для удобного управления строками, расширение для Underscore.js, вдохновленное Prototype.js, Right.js, Underscore и красивым языком Ruby.

Underscore.string предоставляет вам несколько полезных функций: использование заглавных букв, очистка, включение, подсчет, escapeHTML, unescapeHTML, вставка, сплайс, StartWith, EndWith, заголовок, обрезка, усечение и т. Д.

1 голос
/ 18 апреля 2010

Все это легко реализовать с помощью оболочек, если вы не хотите расширять прототип

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"

Функции создаются только один раз, так что это довольно эффективно. Но использование оболочки над вспомогательным объектом влечет за собой один дополнительный вызов функции.

...