Просмотр полной версии : Объектная структура
Moonlight
20.02.2013, 19:20
Всем привет!
Может мне кто подскажет. Мне нужно на js создать структуру как в jQuery.
То есть у меня допустим будет функция и в неё я передам название html-элемента "myFunc('body')". Затем я вызову её метод ну и с этим элементом произойдёт то, что я повешу на него "myFunc('body').move(100)". Метод move как раз будет изменять body.
В общем как написать такую структуру вызова на js?
danik.js
20.02.2013, 20:03
По образу и подобию jQuery, только работает с одним элементом:
(function(){
var myFunc = function(selector){
return new myFunc.prototype.init(selector);
}
myFunc.prototype = {
init: function(selector) {
this.selector = selector;
this.element = document.querySelector(selector);
return this;
},
move: function(x) {
alert ('move ' + this.selector + ' to ' + x);
return this;
}
}
myFunc.prototype.init.prototype = myFunc.prototype;
window.myFunc = myFunc;
})();
myFunc('body').move(100);
megaupload
20.02.2013, 20:59
это называется цепочки вызовов, когда метод возвращает сам обьект return this.
danik.js
20.02.2013, 21:03
megaupload, у него в вопросе ни слова про цепочки, только упоминание jQuery. Ему как я понял главное получать из селектора объект, у которого есть различные методы работы с этим объектом.
megaupload
20.02.2013, 21:05
у него в вопросе ни слова про цепочки, только упоминание jQuery.
как написать такую структуру вызова
да ты шерлок
danik.js
20.02.2013, 21:06
megaupload, да ты олень )
Процитируй лучше где он упомянул цепочку.
megaupload
20.02.2013, 21:45
да ты олень )
Зачем ты мне нагрубил? В баню захотел?
danik.js
20.02.2013, 21:51
К сожалению у меня плоховато развита фантазия. Извини что не подобрал более подходящего слова для тебя, ок?
megaupload
20.02.2013, 21:54
И тем не менее ты нагрубил. В баню захотел?
Moonlight
20.02.2013, 22:44
danik.js отлично, это и нужно, спасибо)
Moonlight
20.02.2013, 22:51
А что означает такая конструкция (function(){ /*тут код*/ })(); ?
Зачем "function(){}" взята в скобки и зачем после неё стоят ещё 2 скобки ()?
Или где можно почитать про этот синтаксис?
aвтовызов поди
(function(){
alert("A");
})()
danik.js
20.02.2013, 22:59
Мы создаем анонимную функцию и тут же ее вызываем. Скобки в конце - как раз чтобы ее вызвать, как и в случаях с любой другой функцией.
http://learn.javascript.ru/function-declaration-expression#функция-с-вызовом-на-месте
Moonlight
20.02.2013, 23:07
Ох спасибо), ушёл читать.
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot