1

オブジェクトを自分のやりたいようにチェーンする方法を見つけようとして苦労しています。

次の例を見てみましょう:

var s = function(){
    this.text = {
        hi: function(){
            //do something
            return new s().text;
        }
    };
    return null;
};

var a = new s();

がどこにある//do somethingとしましょう。何かを実行する (何かを返す) ある種のコードがあります。その結果を返したいのですが、人々がより多くの関数を結果に連鎖できるようにします。

ただし、次のようなものを返す場合:

console.log(a.text.hi().hi());

最後の return ( ) が返されないため、もう機能しません。これは、new s().text2 つのものを返すことができないためです。

私の主な質問は、別の関数を前の関数の結果にチェーンできるチェーンを行うことは可能ですが、前の関数にチェーンされた関数がない場合は結果を返すことです。

私が見つけた唯一の解決策は、次のような構文を使用することでした:

a.text.hi().hi().end;

最後の関数の結果を返すようにコードに指示するため。ただし、これはあまり実用的ではないと思います。やりたいことを達成するためのより良い方法があることを願っています。

4

0 に答える 0