![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
02.12.2014, 15:03
|
![Аватар для ruslan_mart](https://javascript.ru/forum/image.php?u=20699&dateline=1502382178) |
Профессор
|
|
Регистрация: 30.04.2012
Сообщений: 3,018
|
|
danik.js, ну если он же и делает сам это всё для какого-то сайта, на кой ему нужно будет вызывать $ через call/apply?
В принципе, достаточно сделать:
if('$' in this) return new $(.....);
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
02.12.2014, 15:07
|
Аспирант
|
|
Регистрация: 23.01.2010
Сообщений: 90
|
|
Это учебное задание, которое специально составлено на прокачку скиллов
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
02.12.2014, 15:09
|
![Аватар для danik.js](https://javascript.ru/forum/image.php?u=8952&dateline=1362465013) |
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Сообщение от Ruslan_xDD
|
danik.js, ну если он же и делает сам это всё для какого-то сайта, на кой ему нужно будет вызывать $ через call/apply?
|
И че, значит надо делать через жопу?
__________________
В личку только с интересными предложениями
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
02.12.2014, 15:16
|
![Аватар для ruslan_mart](https://javascript.ru/forum/image.php?u=20699&dateline=1502382178) |
Профессор
|
|
Регистрация: 30.04.2012
Сообщений: 3,018
|
|
danik.js, нет. Я не считаю, что '$' in this или this.$ - это через задницу. В jQuery вроде как раз так и написано.
Вот у тебя когда-нибудь была необходимость вызывать jQuery через call? Зачем её вообще через call кому-то понадобится вызывать?
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
02.12.2014, 15:28
|
Профессор
|
|
Регистрация: 09.11.2014
Сообщений: 610
|
|
Сообщение от Ruslan_xDD
|
что '$' in this или this.$ - это через задницу
|
Это именно через задницу. Зачем вообще вызывать ф-цию дважды только для того, чтобы создать объект? Это все равно, что писать var a = a = 1, это тупость по-любому. Про call/applay правильно сказали, а не используют, просто потому что четкого понимания работы этих ф-ций ни у кого нет. Вызовешь в контексте экземпляра, и перезапишешь свойства, и вообще, хз что может быть.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
02.12.2014, 15:34
|
![Аватар для danik.js](https://javascript.ru/forum/image.php?u=8952&dateline=1362465013) |
Профессор
|
|
Регистрация: 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 );
};
__________________
В личку только с интересными предложениями
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
02.12.2014, 15:35
|
![Аватар для danik.js](https://javascript.ru/forum/image.php?u=8952&dateline=1362465013) |
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Сообщение от krutoy
|
Зачем вообще вызывать ф-цию дважды только для того, чтобы создать объект?
|
Расскажи это разработчикам jQuery, а то они не в курсе.
__________________
В личку только с интересными предложениями
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
02.12.2014, 15:36
|
Профессор
|
|
Регистрация: 09.11.2014
Сообщений: 610
|
|
Сообщение от danik.js
|
Расскажи это разработчикам jQuery, а то они не в курсе.
|
А мне плевать на разработчиков, хоть жеквери, хоть х*я, я просто констатирую факт.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
02.12.2014, 15:40
|
![Аватар для Erolast](https://javascript.ru/forum/image.php?u=30674&dateline=1380548540) |
Профессор
|
|
Регистрация: 24.09.2013
Сообщений: 1,436
|
|
Правильно делаешь, ты ведь умнее разработчиков jQuery.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
02.12.2014, 15:43
|
Профессор
|
|
Регистрация: 09.11.2014
Сообщений: 610
|
|
Сообщение от danik.js
|
return new jQuery.fn.init( selector, context );
|
Это, кстати, говнокод, по большому счету. Есть конвенция, употреблять оператор new только для создания экземпляра класса, а ф-ция, должна быть с большой буквы. Грязный хак мартышки, которая не знает как_сделать_это_правильно
|
|
|
|