Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 07.12.2014, 12:43
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

У тебя Instance - функция, так? То есть подпрограмма.
Где в коде у тебя переход к исполнению подпрограммы?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #12 (permalink)  
Старый 07.12.2014, 12:45
Аспирант
Отправить личное сообщение для Romaboy Посмотреть профиль Найти все сообщения от Romaboy
 
Регистрация: 29.05.2013
Сообщений: 61

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 убрать
Ответить с цитированием
  #13 (permalink)  
Старый 07.12.2014, 12:45
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от borodatych
Apple.Instance.color


Должно же отдать green, а не undefined ??!
Ты походу еще и наркоман. Каким боком, у объекта, возьмется свойство, объявляемое вообще в другой функции? И причем объявляемое только при вызове этой функции и определяемое на контексте вызвова (this)?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #14 (permalink)  
Старый 07.12.2014, 12:58
Аспирант
Отправить личное сообщение для borodatych Посмотреть профиль Найти все сообщения от borodatych
 
Регистрация: 03.02.2014
Сообщений: 40

Сообщение от danik.js
Где у тебя вызов функции Instance?
Премного благодарен, вот она моя рассеяность...

Apple.Instance().color


Сообщение от danik.js
Иди читай что такое функция.
Грубовато, как со школьником, но все равно признателен.
Ответить с цитированием
  #15 (permalink)  
Старый 07.12.2014, 13:06
Аспирант
Отправить личное сообщение для borodatych Посмотреть профиль Найти все сообщения от borodatych
 
Регистрация: 03.02.2014
Сообщений: 40

Про вторую то страницу и не заметил...

Сообщение от danik.js
Ты походу еще и наркоман.
Не угадали.

Сообщение от Romaboy
Вот так и будет работать, только function убрать
И вам спасибо за ответ.
Ваш вариант тоже имеет место быть, но мне было интересно почему мой не работал, мне он как то ближе
Ответить с цитированием
  #16 (permalink)  
Старый 07.12.2014, 13:51
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от borodatych
Сообщение от danik.js
Ты походу еще и наркоман.
Не угадали.
Посыпаю голову пеплом
Сообщение от borodatych
вот она моя рассеяность
Теперь все прояснилось? Остался только вопрос - нахрена вся эта шняга? Чего пытаешься добиться этим извратом?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #17 (permalink)  
Старый 07.12.2014, 15:22
Аспирант
Отправить личное сообщение для borodatych Посмотреть профиль Найти все сообщения от borodatych
 
Регистрация: 03.02.2014
Сообщений: 40

Добиваюсь подобия ООП.

В итоге:
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 ...

Последний раз редактировалось borodatych, 08.12.2014 в 16:03.
Ответить с цитированием
  #18 (permalink)  
Старый 07.12.2014, 21:12
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

То есть получается что тебе и не нужно чтобы 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. Имена функций надо с маленькой буквы писать.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #19 (permalink)  
Старый 08.12.2014, 16:25
Аспирант
Отправить личное сообщение для borodatych Посмотреть профиль Найти все сообщения от borodatych
 
Регистрация: 03.02.2014
Сообщений: 40

Цитата:
Не ankor а anchor
Благодарю за внимательность, с русским плохо.

Цитата:
Непонятно только че делает getUrl. Полагаю что какую-то ненужную хуйню и его нужно выпилить.
Тут я забыл закоментировать/удалить, поправил.

Цитата:
Имена функций надо с маленькой буквы писать.
Прислушался..

Цитата:
То есть получается что тебе и не нужно чтобы Offline был функцией, так?
Я тоже пришел к такому варианту, так как IE ругался на:
Offline.Instance = Instance;


danik.js, Вы мне достаточно помогли, вопрос можно закрыть.

Всем спасибо за уделенное внимание.
Ответить с цитированием
  #20 (permalink)  
Старый 08.12.2014, 16:42
Аспирант
Отправить личное сообщение для borodatych Посмотреть профиль Найти все сообщения от borodatych
 
Регистрация: 03.02.2014
Сообщений: 40

Хотя если кто объяснит существенную разницу между

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;
    }

};


Буду признателен... Для меня они идентичны.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поведение DOM объекта igory Events/DOM/Window 2 13.08.2014 11:20
Объект JS не понятное поведение или как повесить обработчик внутри объекта Arnowt Events/DOM/Window 7 29.06.2014 19:00
Не понятное поведение при копирование массива cyber Events/DOM/Window 32 19.12.2012 10:38
Странное поведение объекта в 2D Flirer Общие вопросы Javascript 5 26.03.2011 10:16
Можно ли получить имя экземпляра объекта внутри самого объекта? Ichigeki Общие вопросы Javascript 9 14.11.2008 19:00