- 博客(22)
- 收藏
- 关注
原创 js跨域请求小结
同源策略及跨域网络访问同源的定义:如果两个页面拥有相同的协议(protocol),端口(如果指定),和主机(即域名),那么这两个页面就属于同一个源(origin)。反之就是跨域,以下场景均属于跨域:假设http://www.qq.com是当前的页面,另一个是页面发的请求http://www.qq.comhttp://www.baidu.com/a.js // 域名不同,属于跨域
2016-04-09 21:04:45
2072
原创 mysql使用总结
去年开始,工作中使用nodejs+mysql搭建了一个系统的后端,第一次让sql成为工作中的重要技能,之前一直对sql都非常不熟悉,记录下曾经学过用过的知识是非常必要的。安装通过没mysql官网可下载最新版本:http://www.mysql.com/;windows下操作mysql,可以使用mysql workbench,也可以直接使用命令台指令操作。登录指令使用work
2016-04-03 16:45:51
326
原创 js正则表达式lastIndex
今天在写一个校验ip的正则表达式时,遇到一个问题,表达式匹配本身没有任何问题,但当末尾带上/g时,校验同一个ip,第一次使用test返回的结果是true,但第二次就是false,第三次又是true,仔细一想,记得RegExp对象有一个记录匹配位置的属性,于是上w3school查了一下,果然。RegExpObject.lastIndex以下为w3school上的内容:该属性存放一个整
2016-01-27 00:53:39
3144
原创 jQuery源码学习(版本1.11)-事件处理-实例函数
概述本文详细分析jquery-1.11.1.js源码文件行数:568~5269;代码简介:JQ原型jQuery.fn利用extend扩展了事件处理的方法on-增加事件监听,off-移除事件监听,trigger-触发事件等可有JQ对象实例调用的方法,这些方法会用each对JQ对象实例里的每一个节点都执行相对应的工具方法,即JQ对象实例的事件处理,是作用于内部所有原生dom节点的;下文进行
2015-05-24 01:16:38
790
1
原创 jQuery源码学习(版本1.11)-事件处理-jQuery事件对象
概述本文详细分析jquery-1.11.1.js源码文件行数:4908~4997;代码简介:构造函数jQuery.Event用于创建jQuery事件对象实例,jQuery.Event.fn为其原型。jQuery事件对象是jQuery各种事件处理方法中使用的模型,里面对原生事件模型进行了包装,解决了一些兼容性问题,增加了一些属性强化事件对象的功能;下文进行详细代码分析。jQu
2015-05-24 01:07:25
629
1
原创 jQuery源码学习(版本1.11)-事件处理-工具函数jQuery.event
概述本文详细分析jquery-1.11.1.js源码文件行数:4269~4906;代码简介:定义了jQuery.event命名空间,存放了事件处理底层的工具函数add-增加事件监听,remove-移除事件监听,trigger-触发事件,dispatch-事件分发等,JQ对象利用JQ原型方法添加事件时,最终都会调用到jQuer.event里的工具方法。下文进行详细代码分析。j
2015-05-24 01:00:10
1273
1
原创 jQuery源码学习(版本1.11)-事件处理-整体架构
概述jquery-1.11.1.js版本的事件处理块的代码主要在4273到5269行之间,核心是运用了data缓存,增加事件监听时,在每一个JQ对象的data缓存中都保存一个对象map(事件类型-回调数组),事件触发后,会遍历执行回调数组里的每一个回调,移除监听,则是删除对应缓存里的回调或事件类型,以上三种场景构成整一个jQuery事件处理流程。代码结构1.jQuery事件处理
2015-05-10 22:49:58
707
1
原创 jQuery源码学习(版本1.11)-queue
概述本文详细分析jquery-1.11.1.js源码文件行数:3957~4089;代码简介:jQuery.queue里使用了data缓存的机制,为elem缓存一个回调队列,每次dequeue时,队列里回调出队的同时会执行,实现了一个回调机制,与Deferred那种相对独立的回调机制相比,这种回调是与elem紧紧关联的,回调函数跟elem绑定在一起;下文进行详细代码分析。代码
2015-05-10 01:28:54
502
原创 jQuery源码学习(版本1.11)-data
概述本分详细分析jquery-1.11.1.js源码文件行数:3617~3954;代码简介:data块代码是jQuery用于缓存数据的代码,两种缓存方式,第一种是对于element和document节点对象,data将其需要缓存的数据缓存在内部缓存jQuery.cache中,element里只保存对应的编号,跟jQuery.cache关联起来,第二种对于其他对象,则直接保存在对象自身里面,
2015-05-07 02:13:53
730
原创 jQuery源码学习(版本1.11)-ready
概述本文详细分析了jquery-1.11.1.js源码文件行数:3394~3537;代码简介:定义了jQuery.fn.ready,本质是使用Deferred实现的一个执行异步回调函数的机制,在dom加载完毕之后,执行绑定的回调函数;下文是代码的详细分析。代码分析// Deferred对象var readyList;// JQ对象的ready方法// 后续代
2015-05-05 00:42:14
638
原创 jQuery源码学习(版本1.11)-Deferred
概述本分详细分析jquery-1.11.1.js源码文件行数:3251~3391;代码简介:使用jQuery.extend扩展了Deferred和when两个工具函数,其中when算是对Deferred的扩展应用;Deferred函数返回一个Deferred对象,Deferred对象可分三种情况(resolve,reject,notify)分别保存各自的回调函数,这些回调会在Def
2015-04-24 00:57:45
523
1
原创 jQuery源码学习(版本1.11)-Callbacks
概述本文详细分析jquery-1.11.1.js源码文件行数:3048~3248;代码简介:定义了工具函数callbacks,用于创建Callbacks对象,Callbacks对象可添加异步回调函数,对他们的执行进行统一管理;下文进行详细代码分析。jQuery.Callbacks// 匹配非空白var rnotwhite = (/\S+/g);// 缓存已经建
2015-04-20 22:43:39
499
原创 jQuery源码学习(版本1.11)-扩展工具函数
概述本文详细分析jquery-1.11.1.js源码文件行数:174~584;代码简介:在定义了extend()函数,并用其扩展了一些常用的工具函数;下文进行详细代码分析。extend():jQuery的继承方法// 同时被jQuery以及jQuery.fn即原型引用,便于后面扩展各自的函数// 扩展进jQuery的函数,可通过jQuery这个命名空间去调用,称之为工
2015-04-06 02:19:04
656
1
原创 jQuery源码学习(版本1.11)-构造函数
jquery-1.11.1.js源码文件行数:46~172定义了一些常用的变量,定义了函数jQuery作为创建JQ对象的构造函数,并且重新定义了其原型对象详细代码分析如下:// 定义一个数组deletedIds// 下面的slice,concat,push,indexOf全是JS原生数组的方法var deletedIds = [];var slice = deletedIds.
2015-04-06 02:03:38
687
原创 jQuery源码学习(版本1.11)-整体架构
整体分析如下,首先整个代码结构看上去就是一个闭包自执行,闭包执行的好处在于闭包拥有私有的作用域,不会污染全局作用域,最终再将jQuery作为一个命名空间导出到window下,这样代码管理起来非常方便,兼容性好。jquery整个闭包执行,实际是执行了factory()方法,而factory()是作为参数传进去的,因此详细分析源码,就是分析作为参数传入闭包的函数。(function( gl
2015-03-30 02:44:17
467
原创 jQuery源码学习(版本1.11)-创建jQuery对象
创建jQuery对象的整体架构源码架构分解如下:// 整个架构就是闭包自执行,参数factory是一个函数,闭包最终其实也是执行factory(function( global, factory ) { if ( typeof module === "object" && typeof module.exports === "object" ) { module.exports =
2015-03-30 00:52:54
697
原创 js String的replace方法详解
JavaScript String对象的replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。语法如下:stringObject.replace(regexp/substr, replacement)regexp/substr是必须的参数,可以是字符串或正则表达式;replacement也是必须参数,可以是字符串或者函数。一般
2015-03-15 23:17:10
1811
原创 js里使用的各种元素大小尺寸属性总结
div元素:getComputedStyle(element, null).width,getComputedStyle(element, null).height:元素内容区域尺寸,不包含外边距,边框以及内边距(IE8及以下使用element.currentStyle代替getComputedStyle());clientWidth,clientHeight:元素可视区域尺寸,内边距以内
2015-01-11 21:39:56
1796
原创 callee,caller,call()以及apply()的用法理解以及从中引申出的关于作用域跟this的理解
在函数内部,有两个特殊的对象:arguments和this。
2014-11-09 20:48:46
869
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人