首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    jQuery源码研究:jQuery原型对象上的属性方法(上)

    1jQuery.fn = jQuery.prototype = { 2 constructor: jQuery, 3 length: 0, 4 // 添加原型方法和属性... 5} 从上段代码中可以看到...,jQuery对象作为构造函数,在其原型上定义了一些属性和方法,同时其原型也被指向jQuery对象的属性fn上面。...其中属性constructor指向构造器即jQuery对象。length属性默认值为0,为对象添加属性length,感觉这是要把对象作为类数组来处理,且看后续的代码阅读中能发现用在哪,暂时先不关注。...toArray方法:返回一个包含jQuery对象集合中的所有DOM元素的数组。这个方法不接收任何参数。所有匹配的DOM节点都会包含在一个标准的数组中。...通过this把老的jQuery原型对象挂载到新建的ret对象的prevObject属性上云,这可以看作是jQuery对象的一个引用吧 7 ret.prevObject = this;

    1.4K40

    jQuery源码研究:jQuery原型对象上的属性方法(下)

    构造函数的实例对象,凡是jQuery对象原型上的方法,在实例对象中都可以被访问到的。...至于this.pushStack()方法中的参数,可以明显看到它是jQuery构造对象上定义了一个方法map,该方法内部具体实现尚未可知,因为还没读到那部分,但看参数传递可以大概知道,将新创建的元素集合和对新集合进行处理的回调函数传入进去了...( 0 ); }, last: function() { return this.eq( -1 ); }, } 都是调用的jQuery原型对象上的eq()方法...而它们所用的eq()方法,其实现代码如下: jQuery.prototype = { eq:function(i){ var len = this.length,...说的不太让人懂,虽然用也会用,不就是在jQuery实例对象进行DOM选择链条中返回未选状态么,但其实看代码实现更明确: jQuery.prototype = { end: function(){

    1.1K50

    jQuery源码研究:jQuery对象及原型上的extend()方法

    return target; } 在jQuery对象上添加extend属性,并且在jQuery.fn上面也添加同样的extend属性,还记得前面jQuery.fn = jQuery.prototype...不?...jQuery对象的fn属性指针就指向jQuery对象的原型,并且因为对象都是引用类型的,所以上例代码的操作意思就是:在jQuery对象和它的原型对象上都添加extend方法,该方法最后返回的是一个合并处理后的对象...在jQuery对象上绑定的extend()和jQuery.fn上绑定的extend()方法其实是不同的,前者是类方法,是静态方法,调用方法写作$.extend();后者是实例方法,是成员方法,调用方法写作...jQuery.fn即原型对象上添加extend()方法的代码解释,再复习下:jQuery对象和其原型上都具有extend()方法,区别在于一个是类方法,一个是成员方法,在使用场景上请注意。

    1.2K30

    编写更好的jQuery代码

    现在已经有很多文章讨论jQuery和JavaScript的性能问题,然而,在这篇文章中我计划总结一些提升速度的技巧和一些我自己的建议来改善你的jQuery和JavaScript代码。...谷歌的CND能保证选择离用户最近的缓存并迅速响应,地址是http://code.jQuery.com/jQuery-latest.min.js 必要时组合jQuery和javascript原生代码 上所述...,jQuery就是javascript,这意味着用jQuery能做的事情,同样可以用原生代码来做。...原生代码的可读性和可维护性可能不如jQuery,而且代码更长。但也意味着更高效(通常更接近底层代码可读性越差,性能越高,例如:汇编,当然需要更强大的人才可以)。...记住没有任何框架能比原生代码更小,更轻,更高效。 最后忠告 最后,写这篇文章的目的是提高jQuery的性能和给出一些好的建议。如果你想深入的研究对这个话题你会发现很多乐趣。

    1.9K20

    超实用的jQuery代码段

    本书精选近350个jQuery代码段,涵盖页面开发中绝大多数要点、技巧与方法,堪称史上最实用的jQuery代码参考书,可以视为网页设计与网站建设人员的好帮手。...本书的代码跨平台、跨设备、跨浏览器,充分向读者演示了如何使用jQuery的各项技术,实现令人激动的网页效果。...本书从jQuery框架的使用原理与应用场景出发,对最实用的jQuery代码段进行了全方位的介绍和演示。...全书分为11章,包含网页效果、DOM元素与属性、HTML事件、CSS样式、用户输入自动完成、拖放、图形图像、AJAX、算法、jQuery Mobile应用、浏览器、Cookies等jQuery技术内容,...对提高网站开发人员和设计人员的jQuery技术水平有指导作用。

    1.6K10

    angularJS之站在jQuery的肩膀上

    jQuery:用更少的代码,实现更强悍的功能 托互联网日新月异发展的福,浏览器变成了人们接入互联网的入口,而JavaScript 这个曾经的小语种,终于成功地站到了舞台的中央,唤起了开发者的兴趣。...jQuery由一小撮对浏览器极其熟稔的极客负责抹平不同浏览器的差异,其他开发 者只需要基于jQuery进行开发,可以更好地关注业务实现,而不是把时间花在 适配不同的浏览器上。...用jQuery实现一个小时钟 示例演示:http://www.hubwiz.com/course/54f3ba65e564e50cfccbad4b/ 我们试着用jQuery实现一个简单的时钟页面,实现思路很简单...开发者需要的API都挂接在这个对象上。 它其实是一个类工厂,负责将指定的DOM对象转化为jquery对象。...jQuery是一个库,库总是被动的,就像工具,应用的开发逻辑是你的,在 某一点上需要用一下工具,就用好了。

    1.1K10

    jQuery原理(原型上的属性、方法)

    jQuery原型上的属性 kjQuery.prototype = { constructor: kjQuery, init: function (selector) {}, /.../ 版本号 jquery: "1.1.0", // 实例默认的选择器取值 selector: "", // 实例默认的长度 length: 0, // 给实例添加新元素...: [].splice, }; 关于三个方法(push,sort,splice)以push为例: 通过[].push找到数组的push方法 但是对象的push方法由对象调用,那么this就指向了对象(jQuery...) 所以也就相当于[].push.apply(this)将元素添加到对象身上 jQuery原型上的方法 toArray 把实例转换为数组返回 toArray: function () { return...,是jQuery类型的实例对象 first: function () { return this.eq(0); }, last:获取实例中的最后一个元素,是jQuery类型的实例对象 last:

    1.2K20

    jquery 的ajax请求示例和注意事项

    最近很多人问我ajax该怎么用,怎么访问后台,怎么取得数据页面显示 写一个简单的ajax访问: $.ajax({ url: ctx +"/meeting/getMeetingRoomMap",...=""){ $(".showMessage").html(data); //从后台获取数据的回调函数 } } }); 使用ajax需要注意的两点: 1、cache...属性,默认为true, 就是页面是否需要缓存的问题,很多人说明明修改了值,为什么值没变,就是因为这个属性在作怪,请求的时候,可以设置为false 2、async属性,默认为true, 这个属性是决定你本次...同步的话:js也会像后台代码一样,一行一行执行下去, 如果没设置这个属性为false,那就有可能出现你的ajax还没执行完,就去执行你的下一句js了 其实ajax挺简单的,请求后台,获取数据回调, 然后页面展示...,需要注意的就上面两点,祝你们使用愉快

    89130

    如何编写高效的jQuery代码(转载)

    jQuery的编写原则: ---- 一、不要过度使用jQuery 1. jQuery速度再快,也无法与原生的javascript方法相比,而且建立的jQuery对象包含的信息量很庞大。...许多jQuery方法都有两个版本,一个是供jQuery对象使用的版本,另一个是供jQuery函数使用的版本。由于后者不通过jQuery对象操作,所以相对开销较小,速度比较快。   ...代码中不免夹杂有JS代码,如何让jQuery代码看起来严谨有序,规范自己的命名规则能更好的提高代码的阅读性。   ...不过,不排除一些第三方浏览器增加了querySelector()和querySelectorAll()方法,因此会使这类选择器的性能有大幅提高。...$(window).load(function(){ // 页面完全载入(包括所有的DOM元素和JS代码)后才初始化的jQuery函数. }); 由于 "$(function{});"和"$

    92120
    领券