Показать сообщение отдельно
  #1 (permalink)  
Старый 07.12.2014, 10:02
Аспирант
Отправить личное сообщение для borodatych Посмотреть профиль Найти все сообщения от borodatych
 
Регистрация: 03.02.2014
Сообщений: 40

Не понятное поведение создаваемого объекта
Доброго времени суток.

Возможно не правильно выбран подход...

В общем, код:
var Offline = function(){

    this._inst = false;
    this.version = false;
    this.url  = false;
    this.test = "31234wfs";

    this.Instance = function(){
        if( this._inst ) return this._inst;
        return this._inst = new this;
    };

    this.getUrl = function(url){
        switch( this.version ){
            case "02":
                this.url = url;
                break;
            default: this.url = url;
        }
        return this.url;
    };

    this.getLink = function( url, ankor ){
        var dom,
            //href = this.getUrl(url)
            href = url
        ;
        if( href ){
            dom = "<a href='"+ href +"'>"+ ankor +"</a>";
        }
        else{
            dom = "<span>"+ ankor +"</span>";
        }
        return dom;
    };

};



Ожидания не оправдались...
Вот что в удалось вытянуть:

console.log( Offline );
function (){

    this._inst = false;
    this.version = false;
    this.url  = false;
    this.test = "31234wfs";

    this.Instance = function(){
        if( this._inst ) return this._inst;
        return this._inst = new this;
    };

    this.getUrl = function(url){
        switch( this.version ){
            case "02":
                this.url = url;
                break;
            default: this.url = url;
        }
        return this.url;
    };

    this.getLink = function( url, ankor ){
        var dom,
            //href = this.getUrl(url)
            href = url
        ;
        if( href ){
            dom = "<a href='"+ href +"'>"+ ankor +"</a>";
        }
        else{
            dom = "<span>"+ ankor +"</span>";
        }
        return dom;
    };

}


console.log( Offline.test );
undefined


console.log( Offline.Instance.test );
Uncaught TypeError: Cannot read property 'test' of undefined


Где допустил ошибку? ..вроде все логично..
Ответить с цитированием