Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 02.12.2014, 15:03
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

danik.js, ну если он же и делает сам это всё для какого-то сайта, на кой ему нужно будет вызывать $ через call/apply?

В принципе, достаточно сделать:

if('$' in this) return new $(.....);
Ответить с цитированием
  #32 (permalink)  
Старый 02.12.2014, 15:07
Аспирант
Отправить личное сообщение для OlegALL Посмотреть профиль Найти все сообщения от OlegALL
 
Регистрация: 23.01.2010
Сообщений: 90

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

Сообщение от Ruslan_xDD
danik.js, ну если он же и делает сам это всё для какого-то сайта, на кой ему нужно будет вызывать $ через call/apply?
И че, значит надо делать через жопу?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #34 (permalink)  
Старый 02.12.2014, 15:16
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

danik.js, нет. Я не считаю, что '$' in this или this.$ - это через задницу. В jQuery вроде как раз так и написано.

Вот у тебя когда-нибудь была необходимость вызывать jQuery через call? Зачем её вообще через call кому-то понадобится вызывать?
Ответить с цитированием
  #35 (permalink)  
Старый 02.12.2014, 15:28
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Сообщение от Ruslan_xDD
что '$' in this или this.$ - это через задницу
Это именно через задницу. Зачем вообще вызывать ф-цию дважды только для того, чтобы создать объект? Это все равно, что писать var a = a = 1, это тупость по-любому. Про call/applay правильно сказали, а не используют, просто потому что четкого понимания работы этих ф-ций ни у кого нет. Вызовешь в контексте экземпляра, и перезапишешь свойства, и вообще, хз что может быть.
Ответить с цитированием
  #36 (permalink)  
Старый 02.12.2014, 15:34
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Ruslan_xDD
В jQuery вроде как раз так и написано.
Фигня. Смотрим: https://github.com/jquery/jquery/blo...rc/core.js#L23

var
jQuery = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
// Need init if jQuery is called (just allow error to be thrown if not included)
return new jQuery.fn.init( selector, context );
};
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #37 (permalink)  
Старый 02.12.2014, 15:35
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от krutoy
Зачем вообще вызывать ф-цию дважды только для того, чтобы создать объект?
Расскажи это разработчикам jQuery, а то они не в курсе.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #38 (permalink)  
Старый 02.12.2014, 15:36
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Сообщение от danik.js
Расскажи это разработчикам jQuery, а то они не в курсе.
А мне плевать на разработчиков, хоть жеквери, хоть х*я, я просто констатирую факт.
Ответить с цитированием
  #39 (permalink)  
Старый 02.12.2014, 15:40
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Правильно делаешь, ты ведь умнее разработчиков jQuery.
Ответить с цитированием
  #40 (permalink)  
Старый 02.12.2014, 15:43
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Сообщение от danik.js
return new jQuery.fn.init( selector, context );
Это, кстати, говнокод, по большому счету. Есть конвенция, употреблять оператор new только для создания экземпляра класса, а ф-ция, должна быть с большой буквы. Грязный хак мартышки, которая не знает как_сделать_это_правильно
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает код 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