Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 01.12.2014, 10:45
Аспирант
Отправить личное сообщение для OlegALL Посмотреть профиль Найти все сообщения от OlegALL
 
Регистрация: 23.01.2010
Сообщений: 90

Сообщение от nerv_ Посмотреть сообщение
безобразие


если бы понимал, не писал бы такой ерунды

а еще не понятно, зачем такое извращение
$.prototype.html = function(){
    var clone = new $('_');
    clone.tags = this.tags;
    clone.toString = function() {
        return this.tags[0].innerHTML;
    };
    return clone;
}

если достаточно
// getter
$.prototype.html = function(){
    return this.tags[0].innerHTML;
}

http://api.jquery.com/html/
http://code.jquery.com/jquery-2.1.1.js
потому что условие сделать так:
$('div').html().addClass('class2').html()

Я прошу ответить точно на мои вопросы либо дать напутствия, остальные вопросы решены
Ответить с цитированием
  #12 (permalink)  
Старый 01.12.2014, 15:52
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от nerv_
а еще не понятно, зачем такое извращение
Это мой код )

Ему нужно было чтобы html() не прерывал цепочку вызовов (только не понимаю какой тогда смысл в его вызове ). Про toString ему подсказал его "специалист".

Написал наскоряк. По идее надо создавать класс, наследующийся от $, с перекрытым toString. Причем в каждом вызове любого метода должен возвращаться новый инстанс, чтоб не тянулся один по цепочке.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #13 (permalink)  
Старый 01.12.2014, 15:53
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от OlegALL
потому что условие сделать так:
$('div').html().addClass('class2').html()
А нахуя вызывать html() , не используя результат? Твой спец - ебанат. Так ему и передай.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #14 (permalink)  
Старый 01.12.2014, 15:58
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от danik.js
Ему нужно было чтобы html() не прерывал цепочку вызовов
я про это
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #15 (permalink)  
Старый 01.12.2014, 16:04
Аспирант
Отправить личное сообщение для OlegALL Посмотреть профиль Найти все сообщения от OlegALL
 
Регистрация: 23.01.2010
Сообщений: 90

почему
if (!(this instanceof $))

лучше, чем
if (this.$)

?

Мне больше ничего не надо
Ответить с цитированием
  #16 (permalink)  
Старый 01.12.2014, 16:11
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

OlegALL, потому, что конструктор может быть вызван без new. А твоя проверка вообще не понятно что делает
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #17 (permalink)  
Старый 01.12.2014, 16:50
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от OlegALL
почему лучше, чем
Первая проверка проверяет, что конструктор вызван без слова new, и тогда форсируется вызов через new, дабы создать все-таки объект.

Вторая проверяет что конструктор вызван в контексте объекта, у которого есть свойство $. Ну типа предполагается что был вызов Constructor(), и контекст тогда window, и проверяется window.$.


Стоит сделать Constructor.call({$:1}) и твоя глюкавая проверка не сработает
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #18 (permalink)  
Старый 01.12.2014, 22:34
Аспирант
Отправить личное сообщение для OlegALL Посмотреть профиль Найти все сообщения от OlegALL
 
Регистрация: 23.01.2010
Сообщений: 90

Спасибо. но я так и не понял, чем же второй вариант лучше. Какая разница, как проверять вызов конструктора?
Constructor.call({$:1})
- это вообще непонятно, к чему
т.е.
if (this.$)
- это ненадёжно? когда-то сработает, а когда-то нет?

Последний раз редактировалось OlegALL, 01.12.2014 в 22:40.
Ответить с цитированием
  #19 (permalink)  
Старый 01.12.2014, 22:47
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от OlegALL
Какая разница, как проверять вызов конструктора?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #20 (permalink)  
Старый 01.12.2014, 22:49
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от OlegALL
это вообще непонятно, к чему
$.call({$:1})
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает код Kendrick Internet Explorer 5 12.09.2012 16:14
Требуется выводить код рекламного блока Adsense из файла JavaScript??? speedflow Элементы интерфейса 0 26.05.2012 15:50
Запуск кода с фрейма, код в родительском окне - КАК ? lamer Javascript под браузер 7 06.05.2012 15:15
Как создать bodyclick код royksopp Общие вопросы Javascript 8 14.10.2011 16:39
код странно отрабатывает комбинацию клавиш ffx Общие вопросы Javascript 4 20.01.2011 10:58