2015-12-29 3 views
0

методы Utility

> Object.getOwnPropertyNames(jQuery).toString(); "prototype,fn,extend,expando,isReady,error,noop,isFunction,isArray,isWindow,isNumeric,isEmptyObject,isPlainObject,type,globalEval,camelCase,nodeName,each,trim,makeArray,inArray,merge,grep,map,guid,proxy,now,support,find,expr,unique,text,isXMLDoc,contains,filter,dir,sibling,Callbacks,Deferred,when,readyWait,holdReady,ready,acceptData,cache,noData,hasData,data,removeData,_data,_removeData,queue,dequeue,_queueHooks,access,event,removeEvent,Event,clone,buildFragment,cleanData,swap,cssHooks,cssNumber,cssProps,style,css,Tween,easing,fx,Animation,speed,timers,valHooks,attr,removeAttr,attrHooks,propFix,prop,propHooks,parseJSON,parseXML,active,lastModified,etag,ajaxSettings,ajaxSetup,ajaxPrefilter,ajaxTransport,ajax,getJSON,getScript,get,post,_evalUrl,param,parseHTML,offset,noConflict,length,name"JQuery - утилита Vs QuerySelection - методы

методы выбора запроса

> Object.getOwnPropertyNames(jQuery.prototype).toString(); "jquery,constructor,selector,length,toArray,get,pushStack,each,map,slice,first,last,eq,end,push,sort,splice,extend,find,filter,not,is,init,has,closest,index,add,addBack,parent,parents,parentsUntil,next,prev,nextAll,prevAll,nextUntil,prevUntil,siblings,children,contents,ready,data,removeData,queue,dequeue,clearQueue,promise,on,one,off,trigger,triggerHandler,text,append,prepend,before,after,remove,empty,clone,html,replaceWith,detach,domManip,appendTo,prependTo,insertBefore,insertAfter,replaceAll,css,show,hide,toggle,fadeTo,animate,stop,finish,slideDown,slideUp,slideToggle,fadeIn,fadeOut,fadeToggle,delay,val,attr,removeAttr,prop,removeProp,addClass,removeClass,toggleClass,hasClass,blur,focus,focusin,focusout,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error,contextmenu,hover,bind,unbind,delegate,undelegate,wrapAll,wrapInner,wrap,unwrap,serialize,serializeArray,ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend,offset,position,offsetParent,scrollLeft,scrollTop,innerHeight,height,outerHeight,innerWidth,width,outerWidth,size,andSelf"


documentation С, я узнал, что,

  • методы называются на JQuery выбора находятся в $.fn пространстве имен, и автоматически получать и возвращать выбор в качестве this.
  • Методы в пространстве имен $, как правило, являются методами типа утилит и не работают с выборами; они не передают автоматически любые аргументы, и их возвращаемое значение будет отличаться.

Из приведенного выше заявления, я делаю вывод, что

1) Методы применяются на выборе запроса [экс- jQuery('ul li')] пришел из jQuery.prototype.

2) Методы, исходящие от jQuery, являются полезными методами.

Правильно ли я понимаю?

Примечание: начинающий

ответ

1

Ваше понимание правильно.

jQuery.fn является ссылкой на jQuery.prototype. Когда вы определяете функцию с помощью jQuery.fn.myFunction = function() { }, вы можете получить к ней доступ, используя jQuery("div").myFunction(). В рамках этой функции вы можете получить доступ к выбранным элементам с помощью this, так что вы можете, например, запустить this.html("newcontent"), что в этом примере равно jQuery("div").html("newcontent").

Когда вы определяете функцию с использованием jQuery.myFunction = function() { }, функция не получит никаких выбранных элементов, поэтому полезно, если вы передадите ей некоторые параметры.

+0

Среди приложений здания, использующих библиотеку jQuery, как часто разработчику требуется добавить новый метод/функцию в 'jQuery.prototype' и' jQuery'? – overexchange

+0

Этот вопрос не может быть отвечен в целом. Лично мне редко приходилось добавлять больше одной или двух функций. И много раз есть плагин jquery, который выполняет ту работу, которую вы хотите сделать (которая сама создаст такие функции). – cdauth