У тебя Instance - функция, так? То есть подпрограмма.
Где в коде у тебя переход к исполнению подпрограммы? |
var Instance = function() { if (this._instance) return this._instance; return this._instance = new this; }; Это функция, такая штуковина, котрая выполняет участок кода. var Apple = function(){ this.color = "green"; }; Это тоже функция, которая выполняет код, а не содержит цвет. Apple = { this.color: 'green' } Вот так и будет работать, только function убрать |
Цитата:
|
Цитата:
Apple.Instance().color Цитата:
|
Про вторую то страницу и не заметил...
Цитата:
Цитата:
Ваш вариант тоже имеет место быть, но мне было интересно почему мой не работал, мне он как то ближе |
Цитата:
Цитата:
|
Добиваюсь подобия ООП.
В итоге: var Offline = function(){ this.version = false; this.url = false; 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); if( href ){ dom = "<a href='"+ href +"'>"+ ankor +"</a>"; } else{ dom = "<span>"+ ankor +"</span>"; } return dom; }; }; Offline.Instance = Instance; Offline.Instance().version = GetParameter("version"); Instance и GetParameter реализованы в базовом файле. В процессе: var offline = '<?=$offline?>'; ... if( offline ){ var url = offline+"&number="+num+"&detail="+detail; detAnalog += "<div id='"+ num +"'>"+ Offline.Instance().getLink( url, num ) +"</div>"; }else ... |
То есть получается что тебе и не нужно чтобы Offline был функцией, так?
var Offline = { version: GetParameter("version"), getUrl: function(url){ switch( this.version ){ case "02": this.url = url; break; default: this.url = url; } return this.url; }, getLink: function( url, ankor ){ var dom,href = this.getUrl(url); if( href ){ dom = "<a href='"+ href +"'>"+ ankor +"</a>"; } else{ dom = "<span>"+ ankor +"</span>"; } return dom; } }; Offline.getLink(); Возможно название объекта лучше написать с маленькой буквы. Хотя допустим встроенный объект Math пишут же с большой. Непонятно только че делает getUrl. Полагаю что какую-то ненужную хуйню и его нужно выпилить. Не ankor а anchor. Имена функций надо с маленькой буквы писать. |
Цитата:
Цитата:
Цитата:
Цитата:
Offline.Instance = Instance; danik.js, Вы мне достаточно помогли, вопрос можно закрыть. Всем спасибо за уделенное внимание. |
Хотя если кто объяснит существенную разницу между
var Offline = function(){ this.version = false; this.url = false; this.getUrl = function(url){ switch( this.version ){ case "02": this.url = url; break; //default: this.url = url; } return this.url; }; this.getLink = function( url, anchor ){ var dom,href = this.getUrl(url); if( href ){ dom = "<a href='"+ href +"'>"+ anchor +"</a>"; } else{ dom = "<span>"+ anchor +"</span>"; } return dom; }; }; И var Offline = { version : false, url : false, getUrl : function(url){ switch( this.version ){ case "02": this.url = url; break; //default: this.url = url; } return this.url; }, getLink : function( url, anchor ){ var dom,href = this.getUrl(url); if( href ){ dom = "<a href='"+ href +"'>"+ anchor +"</a>"; } else{ dom = "<span>"+ anchor +"</span>"; } return dom; } }; Буду признателен... Для меня они идентичны. |
Часовой пояс GMT +3, время: 20:20. |