Comment utiliser “setTimeout” d'invoquer l'objet lui-même

Pourquoi ne puis-je pas utiliser setTimeout dans un objet javascript?

Message = function () {

    ...
    ...        

    this.messageFactory = ...
    this.feedbackTag = document.getElementById('feedbackMessages');

    this.addInfo = function (message) {
        var info = this.messageFactory.createInfo(message); //create a div
        this.feedbackTag.appendChild(info);

        setTimeout('this.feedbackTag.removeChild(info)', 5000);
        //why in here, it complain this.feedbacktag is undefined ??????

    };
}

Merci pour Steve Solution, maintenant, il va fonctionner que si le code est comme ci-dessous...
parce que le " il " de la veille a été réellement pointant à la fonction setTimeOut, il ne peut pas rearch Message.

Message = function () {

    ...
    ...        

    this.messageFactory = ...
    this.feedbackTag = document.getElementById('feedbackMessages');

    this.addInfo = function (message) {
        var info = this.messageFactory.createInfo(message); //create a div
        this.feedbackTag.appendChild(info);

        var _this = this;
        setTimeout(function() { _this.feedbackTag.removeChild(info); }, 5000);

    };
}

Mais pourquoi ne pas travailler si nous le faisons:

Message = function () {

    ...
    ...        

    this.messageFactory = ...
    this.feedbackTag = document.getElementById('feedbackMessages');
    //public function
    this.addInfo = function (message) {
        var info = this.messageFactory.createInfo(message); //create a div
        this.feedbackTag.appendChild(info);

        delayRemove(info);

    };
    //private function
    function delayRemove(obj) {
        var _this = this;
        setTimeout(function() { _this.feedbackTag.removeChild(info); }, 5000);
    }
}
InformationsquelleAutor jojo | 2009-07-09