2017-04-13 12 views
0

このようなことはできますか?文字列の文字列paramを連鎖で呼び出す方法

var mystring = "http%3A%2F%2Fstackoverflow.com%2F"; 

var mydecodedstring = mystring.apply(decodeURIComponent); 

は、私はこの

var mydecodedstring = decodeURIComponent(mystring); 

行うことができます知っている。しかし、私はこの可能であれば、構文的な目的のために連鎖したいと思います。可能であれば興味があります。私の目標は:

mystring.????? 
+0

カスタム「String.method」を作成する場合は、[String.prototype](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/)をご覧ください。グローバル_オブ​​ジェクト/文字列/プロトタイプ)。 Method Chainingとプロトタイプ[here](https://schier.co/blog/2013/11/14/method-chaining-in-javascript.html)を使用することについての良い記事があります。 – Santi

+0

これを行うには唯一の方法であるStringメソッドを追加していますか?これを実現する既存の方法はありませんか? –

+1

はい、プロトタイプメソッドにメソッドを追加するだけです( '$(mystring).apply(decodeURIComponent)'のようなものを書こうとしない場合)、これは唯一の方法です。 do](http://stackoverflow.com/q/14034180/1048572)。 – Bergi

答えて

0

適用の仕組みを確認するには、thisをご覧ください。

var mystring = "http%3A%2F%2Fstackoverflow.com%2F"; 

var mydecodedstring = decodeURIComponent.apply(null, mystring); 

明らかに、applyはあなたが探しているものを提供しません。

Stringプロトタイプで独自の関数を定義してデコードすることも、オブジェクト上でのみ定義することもできます。

0

多分あなたはStringオブジェクトに新しいメソッドを追加したいですか?

String.prototype.apply= function(entry){ 
    return decodeURIComponent(entry); 
    } 
    var mystring = "http%3A%2F%2Fstackoverflow.com%2F"; 

    var mydecodedstring = mystring.apply(decodeURIComponent); 
関連する問題