jQuery源码解读一
来源:互联网 发布:淘宝怎么提高宝贝权重 编辑:程序博客网 时间:2024/06/08 18:46
在使用jQuery的过程中,深深体会着jQuery的宗旨:write less, do more. 在解读jQuery书上有句话我特别的喜欢,送给大家:"jQuery说,给你一个方法,你能让互联网炫目富有!",看到这里,我们不禁会想起阿基米德的那句精彩的话:给我一个支点,我可以撬动地球。
反复的利用jQuery开发了自己的前端页面后,借助jQuery丰富的文档,很快就可以实现自己的几个页面,在感叹其精简的写法,强大的选择器和链式语法后,我几乎会在每个项目中引入jQuery。使用已一段事件后,我有了很多的困惑,怎么理解的它的闭包机制,怎么写出高效的选择器,而不是像刚开始写jQuery时,选择器的用法,我几乎不怎么使用filter()和find(),几乎直接把css中的选择器一股脑的写入到强大的jQuery入口函数里,这样写真的没什么问题?那么jQuery为什么为我们提高大量的匹配和筛选的方法,直到我看到jQuery社区的官方的讲解视频,不愧为jQuery维护者之一,他在短短的视频里,讲解了jQuery入门的知识,却让我看到了新意和差距。大家不妨看看,这里给出中文翻译版http://blog.jobbole.com/37699/
给出自己的第一个理解:
var $ = jQuery = function(){return new jQuery.fn.init();}jQuery.fn = jQuery.prototype = {init: function(){this.length = 0;this.test = function(){return this.length;}return this;},jquery: "1.3.2",length: 1,size: function(){return this.length;}}jQuery.fn.init.prototype = jquery.fn;console.log($().jquery); //"1.3.2"console.log($().test()); //0console.log($().size()); //0
这里需要理解 jQuery.fn.init.prototype = jquery.fn; 使用jQuery的原型对象覆盖了init的原型对象.
new jQuery.fn.init()创建的新对象拥有init的原型对象的方法,通过改变prototype的指针的指向,使其指向jQuery的原型对象,自然就继承了jQuery,length属性和size(),否则,使用init()创建的对象无法访问作用域外的size(),jquery.
关于作用域,张雪锋的博客说的非常详细,大神理解的比较透彻。
- jQuery源码解读一
- jQuery源码解读一
- jquery插件select2源码解读(一) 概述
- jQuery support 源码解读
- jQuery support 源码解读
- jQuery源码解读二
- JQuery源码解读
- jQuery support 源码解读
- jQuery support 源码解读
- jQuery源码解读二
- JQuery3.1.1源码解读(一)【jQuery总体架构】
- IndexedRDD 源码解读一
- THUCTC源码解读(一)
- WebRTC源码解读一
- hadoop源码解读一
- MJExtension源码解读一
- HashMap源码解读(一)
- MINA源码解读(一)
- 这才是这个世界上求绝对值最快的方法,温故知新。
- 学生自动排队实例(comparactor比较器)
- Git 工作区、暂存区和版本库
- Mac 像Win一样双开Unity
- mxnet中im2rec.py的小问题
- jQuery源码解读一
- 计算机网络分类方法
- Integer to roman
- 56.View Exhibit1 and Exhibit2 to examine the current memory allocation and parameter settings, respe
- Qt---自带的数据库QSQLITE
- 汉字转拼音
- C语言常用转义字符表 和 ASCII码表完整版
- WebGL可视化地球和地图引擎:Cesium.js
- 怎么安装Apache,php,mysql (三)——安装mysql以及相关配置【完毕】