2012-05-08 39 views
0

は、私はクラスを設定している:クラス関数呼び出し

var oTest = new TEST(); 

function TEST() { 

    this.String = function(sString) { 

    this.Trim = function() { 
    } 
    } 
} 

私は次のようにトリム機能を呼び出すことができるようにしたい:

var sTrimmed = oTest.String(" something").Trim(); 

は、これは正しいアプローチですか?私は以前にクラス関数の中で関数を実行したことがないので、どんな助けも大いに評価されるでしょう。

+0

何をしようとしますか? – gdoron

答えて

1

コンストラクタ関数のprototypeにメソッドを追加し、Stringreturn this;を追加して、同じオブジェクトを返すとチェーン可能になります。

var oTest = new TEST(); 

function TEST() {} 

TEST.prototype.String = function(aString) { 
    this.the_string = aString; 
    return this; 
}; 
TEST.prototype.Trim = function() { 
    this.the_string = this.the_string.trim(); 
    return this; 
}; 
TEST.prototype.getString = function() { 
    return this.the_string; 
}; 

var sTrimmed = oTest.String(" something") 
        .Trim() 
        .getString(); 

ライブデモ:http://jsfiddle.net/BcwgC/

関連する問題