
jQuery
jQuery板块
LuckXinXin
加油
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
jQuery中的extend()实现原理,如何实现深拷贝(递归赋值)
大致过程:对后一个参数进行循环,然后把后面参数上所有的字段都给了第一个字段,若第一个参数里有相同的字段,则进行覆盖操作,否则就添加一个新的字段1)对第一个参数做判断,如果不是Boolean类型,且只有一个参数,那么就把jQuery作为target,然后把第一个参数上的字段都赋给target,最后返回target(浅拷贝);如果有多于一个参数,那么第一个参数就是target,然后把后面参数的字段都...原创 2020-10-18 10:35:48 · 501 阅读 · 0 评论 -
给jQuery扩展一个新的空方法,方法名称为newFunc
有两种实现方法:扩展到对象层面--jQuery.extend(),扩展的是静态方法,可以直接使用$调用;扩展到选择器函数对象层面----jQuery.fn.extend(),扩展的方法是实例的方法,由$('#id名')或者$('.类名')调用$.fn是指jquery的命名空间,在选择器函数对象层面上添加方法jQuery.extend() = jQuery.fn.extend()实现对对象的扩...原创 2020-10-18 10:35:28 · 206 阅读 · 0 评论 -
jQuery Mobile 是什么?
1)jQuery Mobile 是一个为触控优化的框架,用于创建移动 web 应用程序2)jQuery 适用于所有流行的智能手机和平板电脑3)jQuery Mobile 构建于 jQuery 库之上,这使其更易学习,如果您通晓 jQuery 的话4)它使用 HTML5、CSS3、JavaScript 和 AJAX 通过尽可能少的代码来完成对页面的布局为什么使用jQuery Mobile...原创 2020-10-16 20:11:47 · 308 阅读 · 0 评论 -
jQuery添加类和删除类
//添加类,可以添加多个$(selector).addClass(class1 class2)//可以删除多个类$(selector).removeClass(class1 class2)//直接设置单个css$('#id').css('background','red');//设置多个css$('#id').css({ 'backgroundColor':'red', ...原创 2020-10-16 20:11:32 · 1320 阅读 · 0 评论 -
jquery与jQuery UI有什么区别?
1)jQuery是一个js库,主要提供的功能是选择器、属性修改和事件绑定等2)jQuery UI则是在jQuery的基础上,利用jQuery的扩展性,设计的插件。提供了一些常用的界面元素,诸如对话框、拖动行为、改变大小行为等;3)jQuery本身注重于后台,没有漂亮的界面,而jQuery UI则补充了前者的不足,他提供了华丽的展示界面,使人更容易接受。既有强大的后台,又有华丽的前台。jQuer...原创 2020-10-16 20:11:19 · 521 阅读 · 0 评论 -
jQuery.extend()和jQuery.fn.extend()的区别
jQuery.extend()是给jQuery对象或者其他对象扩展属性和方法的;jQuery.fn.extend()是给jQuery实例对象扩展属性和方法的原创 2020-10-16 09:07:51 · 108 阅读 · 0 评论 -
jQuery中如何将数组转化为json字符串,然后在转化回来
array是特殊的object,可以利用object的JSON.stringify()转化为json字符串,在利用JSON.parse()转化回来原创 2020-10-16 09:07:18 · 604 阅读 · 0 评论 -
jQuery.fn.init()中返回的this指的是什么对象?为什么要返回this?
init()方法中返回的this指向init的实例对象,而init.prototype等于jQuery.prototype,所以也是jQuery的实例对象;返回this是为了实现链式调用原创 2020-10-16 09:06:55 · 547 阅读 · 0 评论 -
理解jQuery源码的一些问题
1)为什么$(selector)之后,返回的是jQuery对象?答:从jQuery的源代码中,我们可以知道:var $ = jQuery 。因此当我们$(selector)操作时,其实就是jQuery(selector),创建的是一个jQuery对象。当然正确的写法应该是这样的:var jq = new $(selector); 而jQuery使用了一个小技巧在外部避免了new,在jquery方...原创 2020-10-15 09:44:28 · 125 阅读 · 0 评论 -
简单概括一下jQuery的实现原理
1)jQuery的代码都是写在一个立即执行函数里面,形成私有作用域,避免命名空间污染2)window 对象上有两个公共的接口,分别是 $ 和 jQuery:window.jQuery = window.$ = jQuery;这一句话将我们在闭包当中定义的jQuery对象导出为全局变量jQuery和,因此我们才可以在外部直接使用jQuery和,因此我们才可以在外部直接使用jQuery和,因此...原创 2020-10-15 09:44:15 · 2337 阅读 · 0 评论 -
jQuery中如何将数组转化为json字符串,然后在转化回来
JSON.stringify()方法,将数组和对象转换成json字符串JSON.parse()方法,把一个json字符串解析成对象原创 2020-10-15 09:44:00 · 409 阅读 · 0 评论 -
jQuery的编码逻辑核心:
1)、查找(创建)jQuery对象:$(“selector”);2)、调用jQuery对象的方法,完成我们需要完成的工作:$(“selector”).doOurWork();原创 2020-08-22 11:14:16 · 143 阅读 · 0 评论 -
jQuery对象的特点
只有 JQuery对象才能使用 JQuery 方法JQuery 对象是一个数组对象原创 2020-07-06 12:02:05 · 232 阅读 · 0 评论 -
jQuery 和 Zepto 的区别? 各自的使用场景
jQuery 主要目标是PC的网页中,兼容全部主流浏览器。在移动设备方面,单独推出 `jQuery MobileZepto从一开始就定位移动设备,相对更轻量级。它的API 基本兼容jQuery`,但对PC浏览器兼容不理想原创 2020-07-06 12:01:39 · 266 阅读 · 0 评论 -
jQuery 与 jQuery UI、jQuery Mobile 区别
jQuery 是 JS 库,兼容各种PC浏览器,主要用作更方便地处理 DOM、事件、动画、AJAXjQuery UI 是建立在 jQuery 库上的一组用户界面交互、特效、小部件及主题jQuery Mobile 以 jQuery 为基础,用于创建“移动Web应用”的框架...原创 2020-07-05 21:19:05 · 751 阅读 · 0 评论 -
jQuery UI 如何自定义组件
通过向 $.widget() 传递组件名称和一个原型对象来完成$.widget(“ns.widgetName”, [baseWidget], widgetPrototype);原创 2020-07-05 21:18:30 · 334 阅读 · 0 评论 -
jQuery 的 slideUp 动画,当鼠标快速连续触发, 动画会滞后反复执行,该如何处理呢
在触发元素上的事件设置为延迟处理:使用 JS 原生 setTimeout 方法在触发元素的事件时预先停止所有的动画,再执行相应的动画事件:$(’.tab’).stop().slideUp();原创 2020-07-05 21:17:01 · 667 阅读 · 0 评论 -
针对 jQuery 的优化方法
缓存频繁操作DOM对象尽量使用id选择器代替class选择器总是从#id选择器来继承尽量使用链式操作使用时间委托 on绑定事件采用jQuery的内部函数data()来存储数据使用最新版本的 jQuery原创 2020-07-04 20:20:44 · 246 阅读 · 0 评论 -
jQuery 一个对象可以同时绑定多个事件,这是如何实现的
$("#btn").on("mouseover mouseout", func); $("#btn").on({ mouseover: func1, mouseout: func2, click: func3 });原创 2020-07-04 20:19:55 · 556 阅读 · 0 评论 -
jQuery 中如何将数组转化为 JSON 字符串,然后再转化回来
// 通过原生 JSON.stringify/JSON.parse 扩展 jQuery 实现 $.array2json = function(array) { return JSON.stringify(array); } $.json2array = function(array) { // $.parseJSON(array); // 3.0 开始,已过时 return JSON.parse(array); } // 调用 var json = $.array2j原创 2020-07-04 20:19:21 · 600 阅读 · 0 评论 -
jQuery 通过哪个方法和 Sizzle 选择器结合的
Sizzle 选择器采取 Right To Left 的匹配模式,先搜寻所有匹配标签,再判断它的父节点jQuery 通过 $(selecter).find(selecter); 和 Sizzle 选择器结合原创 2020-07-03 17:55:41 · 216 阅读 · 0 评论 -
是否知道自定义事件
事件即“发布/订阅”模式,自定义事件即“消息发布”,事件的监听即“订阅订阅”JS 原生支持自定义事件,示例: document.createEvent(type); // 创建事件 event.initEvent(eventType, canBubble, prevent); // 初始化事件 target.addEventListener('dataavailable', handler, false); // 监听事件 target.dispatchEvent(e); // 触发.原创 2020-07-03 17:55:13 · 107 阅读 · 0 评论 -
jQuery 中的 bind(), live(), delegate(), on()的区别
bind() 直接绑定在目标元素上live() 通过冒泡传播事件,默认document上,支持动态数据delegate() 更精确的小范围使用事件代理,性能优于 liveon() 是最新的1.9版本整合了之前的三种方式的新事件绑定机制...原创 2020-07-03 17:54:39 · 153 阅读 · 0 评论 -
jQuery 的队列是如何实现的
jQuery 核心中有一组队列控制方法,由 queue()/dequeue()/clearQueue() 三个方法组成。主要应用于 animate(),ajax,其他要按时间顺序执行的事件中var func1 = function(){alert('事件1');}var func2 = function(){alert('事件2');}var func3 = function(){alert('事件3');}var func4 = function(){alert('事件4');}// 入.原创 2020-07-02 16:04:51 · 466 阅读 · 0 评论 -
jQuery 的属性拷贝(extend)的实现原理是什么,如何实现深拷贝
浅拷贝(只复制一份原始对象的引用) var newObject = $.extend({}, oldObject);深拷贝(对原始对象属性所引用的对象进行进行递归拷贝) var newObject = $.extend(true, {}, oldObject);原创 2020-07-02 16:04:04 · 578 阅读 · 0 评论 -
jQuery.extend 与 jQuery.fn.extend 的区别
$.fn.extend() 和 $.extend() 是 jQuery 为扩展插件提拱了两个方法$.extend(object); // 为jQuery添加“静态方法”(工具方法)$.extend({ min: function(a, b) { return a < b ? a : b; }, max: function(a, b) { return a > b ? a : b; }});$.min(2,3); // 2$.max(4,5); // 5$.ext.原创 2020-07-02 16:03:27 · 161 阅读 · 0 评论 -
jQuery.fn 的 init 方法返回的 this 指的是什么对象
jQuery.fn 的 init 方法 返回的 this 就是 jQuery 对象用户使用 jQuery() 或 $() 即可初始化 jQuery 对象,不需要动态的去调用 init 方法原创 2020-07-01 20:24:27 · 500 阅读 · 0 评论 -
jQuery 的实现原理
(function(window, undefined) {})(window);jQuery 利用 JS 函数作用域的特性,采用立即调用表达式包裹了自身,解决命名空间和变量污染问题window.jQuery = window.$ = jQuery;在闭包当中将 jQuery 和 $ 绑定到 window 上,从而将 jQuery 和 $ 暴露为全局变量...原创 2020-07-01 20:23:40 · 200 阅读 · 0 评论 -
你觉得jQuery或zepto源码有哪些写的好的地方
jquery源码封装在一个匿名函数的自执行环境中,有助于防止变量的全局污染,然后通过传入window对象参数,可以使window对象作为局部变量使用,好处是当jquery中访问window对象的时候,就不用将作用域链退回到顶层作用域了,从而可以更快的访问window对象。同样,传入undefined参数,可以缩短查找undefined时的作用域链 (function( window, undefined ) { //用一个函数域包起来,就是所谓的沙箱 //..原创 2020-07-01 20:23:04 · 248 阅读 · 0 评论