jquery源码笔记2-初始化函数
来源:互联网 发布:淘宝店卖家界面 编辑:程序博客网 时间:2024/06/07 12:06
一、先看一个函数 hasOwnProperty
for in的时候,它会把对象的属性(包括原型的属性)遍历一遍,例如:
有这么一段代码:
var array = [];array.push(1);array.push(2);array.push(3);for(var i in array) {console.log(i+":"+array[i]);}
此时会输出什么呢?当然是0:1 1:2 2:3
但是如果在for in之前加上Array.prototype.say = “hello”;
再次运行会输出什么呢?
0:1 1:2 2:3 say:hello
看到了吧,这个时候,它会输出原型的属性
在很多时候,我们不需要遍历它原型的属性,还有一个原因就是,我们现在用到的对象,我们不能保证,其他开发人员,有没有,在它的原型上加一些属性呢?所以呢,我们就过滤一下我们对象的属性吧,这个时候就用到了hasOwnProperty方法,如下:
for(var i in array){if(array.hasOwnProperty(i)) {console.log(i+":"+array[i]);}}
二、初始化函数
源码中的这样写的:
jQuery = function( selector, context ) { return new jQuery.fn.init( selector, context, rootjQuery ); },
第一眼看到这个东西我是懵逼的……..
第二眼看到这个东西我还是懵逼的……..
不行,我得先简化一下 这个东西…..
1、按照我们正常的思路应该这样写
var jQuery = function(){}jQuery.prototype = { name : function(){}; age : function(){};}var jq = new jQuery();jq.name();
我们都知道在jquery中是这么写的
jQuery.name();
我们可以想象jQuery应该返回的是一个实例对象
如果这样写的话,好理解点
var jQuery = function(){ return new init();}jQuery.prototype = { name : function(){}; age : function(){};}var init = function(){}init.prototype = jQuery.prototype;
jQuery源码中是这样写的
var jQuery = function( selector, context ) { return new jQuery.fn.init( selector, context, rootjQuery );}jQuery.fn = jQuery.prototype = { init: function( selector, context, rootjQuery ) {}}jQuery.fn.init.prototype = jQuery.fn;
WTF!!!
0 0
- jquery源码笔记2-初始化函数
- jQuery源码学习笔记:扩展工具函数
- jQuery源码测试笔记之domManip函数
- jQuery知识点(2)-页面初始化函数
- jQuery文档初始化函数原理
- jquery源码笔记1-匿名自执行函数
- jquery源码学习笔记:自执行匿名函数剖析
- JQuery笔记2: JQuery 提供的函数
- SparkContext初始化源码阅读笔记
- jQuery源码笔记1
- jquery源码分析笔记
- jQuery源码阅读笔记
- jQuery源码阅读笔记
- jquery 源码分析-核心(1)初始化init
- Pyunit源码笔记之二 主函数import,初始化loader和流程概览
- spring源码学习笔记-初始化(4)
- vector源码阅读笔记(初始化)
- 《python源码剖析》笔记 python环境初始化
- 欢迎使用CSDN-markdown编辑器
- 《JAVA异常处理》
- Tomcat 源码分析
- 线程池.md
- hoding object-1
- jquery源码笔记2-初始化函数
- 微信开发实战(2)—微信公众平台接口调试工具
- Android应用在新浪微博授权提示:文件不存在 C8998 的解决方法
- 均值滤波函数
- J2EE之Spring中Bean的配置细节
- 初探随机(持续更新)
- 高并发处理方案
- 题目: 一个数如果恰好等于它的因子之和,这个数被成为”完数”,例如:6=1+2+3.请编程找出1000以内的完数
- NYOJ - 205 - 求余数(大数求余数)