У тебя 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, время: 17:17. |