2012-05-08 2 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 и сделайте return this; в String, чтобы вернуть тот же объект, что делает его цепочки.

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/