私はjavascriptでトリム関数を作成しようとしていましたが、私はこのメソッドのために私はgoogledホイールを再発明したくありません。
私は、このリンクを見つけた http://www.somacon.com/p355.phpStringのプロトタイプを変更する必要がありますか?
それが提供するソリューションは、次のとおりです。
function trim(stringToTrim) {
return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
return stringToTrim.replace(/\s+$/,"");
}
:あなたがこれを使用する文字列のプロトタイプを変更するのwntをdon'y場合、それは言っても
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
return this.replace(/\s+$/,"");
}
私はどのようなシナリオではではないと知りたいですは、文字列のプロトタイプを変更するか、任意のオブジェクトを言う。
'if(!( 'trim' in String.prototype)){' –
if(!String.prototype.trim)の何が問題なのですか?私にとってより効率的に見えます。 – KooiInc
'in'は、それがテストしていることをより明示しています。プロパティの真実性に頼っているのではなく、他の言語が例外とみなすようなものに対して新しい' undefined'を返すという奇妙でひどいJavaScriptの特質です。この特定のケースでは、まったく問題ではありませんが、一般に、オブジェクトにプロパティがあるかどうかをテストするために常に 'in'を使用します。 – bobince