7

jquery、YUI など、よく知られているほとんどの JavaScript ライブラリには、多くの高レベル関数が欠けていることがわかりました。文字列操作を例にとると、startsWith、endWith、contains、lTrim、rTrim、trim、isNullOrEmpty などです。これらの関数は、実際には非常に一般的なものです。

これらのギャップ (文字列操作を含むがこれに限定されない) を埋める JavaScript ライブラリの JavaScript ライブラリ/プラグインが存在するかどうかを知りたいですか?

ライブラリがプロトタイプをオーバーライドしないのは素晴らしいことです。

4

5 に答える 5

9

underscore.jsを見てみましょう(残念ながら、文字列操作はありませんが、他にもたくさんの優れた機能があります)。

于 2010-04-18T06:21:11.693 に答える
3

これらの文字列関数のほとんどは、文字列オブジェクトに関連付けられた他のメソッドを使用して利用できます。

var myString = 'hello world';

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

必要に応じて、これらの関数を他の関数にラップできます。文字列オブジェクトにプロトタイプを追加することがそこに行く方法であり、見つけたライブラリはおそらくそのルートをたどると思います。

于 2010-04-18T06:31:12.700 に答える
2

ms ajax コアライブラリには、これらのすべての文字列メソッドと日付メソッドなどが含まれています。基本的には、.net を js に持ち込もうとする勇敢な試みです。

MS Ajax js スタック全体をロードする必要はなく、コア ファイルだけをロードします。

于 2010-04-18T06:53:00.280 に答える
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"

関数は一度だけ作成されるため、非常に効率的です。ただし、ヘルパー オブジェクトに対してラッパーを使用すると、1 つの追加の関数呼び出しが発生します。

于 2010-04-18T13:20:29.120 に答える
1

underscore.stringは、ニーズに合っているようです。彼らはそれを次のように説明しています。

Underscore.string は、文字列を快適に操作するための JavaScript ライブラリです。Prototype.js、Right.js、Underscore と美しい Ruby 言語にインスパイアされた Underscore.js の拡張機能です。

Underscore.string には、capitalize、clean、includes、count、escapeHTML、unescapeHTML、insert、splice、startsWith、endsWith、titleize、trim、truncate などの便利な関数がいくつか用意されています。

于 2013-10-29T20:19:16.453 に答える