Не понятное поведение создаваемого объекта
Доброго времени суток.
Возможно не правильно выбран подход... В общем, код: 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 Где допустил ошибку? ..вроде все логично.. |
Цитата:
|
Я должен работать с Offline как с объектом.
Код написан по аналогии работающего примера, возможно я не все захватил с того примера, но не знаю что, вот и просил |
Цитата:
|
Задай конкретный вопрос что ты не можешь понять.
|
Offline.test должно вернуть 31234wfs, а не undefined
Почему же оно возвращает undefined? |
Цитата:
function Apple() { this.color = 'green'; } Apple.color // undefined var apple = new Apple(); apple.color // green Ты не понимаешь почему так происходит - бегом учить основы. Что такое функция, что такое конструктор и т.д. |
Я просто запутался...
Вот это: var Instance = function() { if (this._instance) return this._instance; return this._instance = new this; }; var Apple = function(){ this.color = "green"; }; Apple.Instance = Instance; Apple.Instance.color Должно же отдать green, а не undefined ??! |
Иди читай что такое функция.
|
И как ее вызвать. Где у тебя вызов функции Instance?
|
Часовой пояс GMT +3, время: 21:28. |