自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

basycai的博客

欢迎交流!

  • 博客(38)
  • 资源 (20)
  • 收藏
  • 关注

原创 jQuery源码分析17--回调函数

理解回调函数本章主要讲解回调函数在jQuery中的使用技巧与实现原理,概念上的东西看似简单,但是在实际运用中要做到灵活自如却也不是那么容易的事,而且对于部分开发者来说它仍然是一个谜。在阅读本文之后你能深入理解这个“回调函数”。函数是第一类对象,这是javascript中的一个重要的概念。意味着函数可以像对象一样按照第一类管理被使用,所以在javaScript中的函数:

2015-12-30 16:31:48 740

原创 jQuery源码分析16--jQuery的each迭代器

jQuery的each迭代器jQuery的each方法从使用上就要分2种情况:☑ $.each()函数☑ $(selector).each()$.each()函数和$(selector).each()是不一样的,后者是专门用来遍历一个jQuery对象的,是为jQuery内部服务的。$.each()函数可用于迭代任何集合,无论是“名/值”对象(JavaScrip

2015-12-30 15:58:58 628

翻译 jQuery JavaScript Library v2.1.4源码翻译

/*! * jQuery JavaScript Library v2.1.4 * http://jquery.com/ * * Includes Sizzle.js * http://sizzlejs.com/ * * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors * Released und

2015-12-30 11:16:59 1707

原创 jQuery源码分析15--迭代器

迭代器迭代器是一个框架的重要设计。我们经常需要提供一种方法顺序用来处理聚合对象中各个元素,而又不暴露该对象的内部,这也是设计模式中的迭代器模式(Iterator)。jQuery中的$.each方法就是一个典型的迭代器,通过each我们可以传入额外的function,然后来对所有的item项进行迭代操作,如下代码:$.each([52, 97], function(ind

2015-12-30 11:04:22 435

原创 jQuery源码分析14--get与eq的区别

get与eq的区别.eq() 减少匹配元素的集合,根据index索引值,精确指定索引对象,jquery对象~~.get() 通过检索匹配jQuery对象得到对应的DOM元素。同样是返回元素,那么eq与get有什么区别呢?eq返回的是一个jQuery对象,get返回的是一个DOM对象。举个例子:$( "li" ).get( 0 ).css("color", "re

2015-12-30 10:54:21 435

原创 jQuery源码分析13--仿栈与队列的操作(数组的操作)

仿栈与队列的操作jQuery既然是模仿的数组结构,那么肯定会实现一套类数组的处理方法,比如常见的栈与队列操作push、pop、shift、unshift、求和、遍历循环each、排序及筛选等一系的扩展方法。jQuery对象栈是一个便于Dom的查找,提供的一系列方法,jQuery可以是集合元素,那么我们怎么快速的找到集合中对应的目标元素呢?正序,逆序。jQuery提供

2015-12-30 10:26:28 495

原创 jQuery源码分析12--回溯处理的设计(设计代码优化)

回溯处理的设计(设计代码优化)         理解栈存对象的概念,结合游标可以很好的理解在这一小节我将会带领你们了解jQuery对DOM进行遍历背后的工作机制,这样可以在编写代码时有意识地避免一些不必要的重复操作,从而提升代码的性能。关于jQuery对象的包装var $aaron = $("aaron");通过对sizzle的分析,我们可以得知

2015-12-29 16:26:43 880

原创 jQuery源码分析11--插件接口的设计,可拓展性

插件接口的设计        如果jQuery没有插件接口的设计,那么他就像个光杆司令没有兵,就是没有手下,只有自己一个封闭的城堡。因此jQuery城堡需要设计一个大门 - 插件接口,从而打开大门开始招兵买马。当然jQuery除了获得“开发者社区”的大力支持外,也有很多大公司纷纷对它投出了橄榄枝,这也是它成功的关键。        基于插件接口设计的好处也是颇多的,其中一个

2015-12-29 16:15:12 359

原创 jQuery源码分析10--方法链式调用的实现

方法链式调用的实现           请关注this的神奇作用!!!      jQuery的核心理念是Write less,Do more(写的更少,做的更多),那么链式方法的设计与这个核心理念不谋而合。那么从深层次考虑这种设计其实就是一种Internal DSL。DSL是指Domain Specific Language,也就是用于描述和解决特定领域问题的语言。

2015-12-29 15:55:57 591

原创 jQuery源码分析9--静态与实例方法共享设计

静态与实例方法共享设计共同的引用,高效的性能保留上一节分割出2个构造器的疑问,我们先看看jQuery在接口的设计:遍历方法:$(".aaron").each() //作为实例方法存在$.each() //作为静态方法存在这是最常见的遍历方法,第一条语句是给有指定的上下文调用的,就是(".aaron")获取的DOM合集,第二条

2015-12-29 15:49:48 391

原创 jQuery源码分析8--小结1

jQuery框架的核心就是从HTML文档中匹配元素并对其执行操作、例如:$().find().css()$().hide().html('....').hide().从上面的写法上至少可以发现2个问题1. jQuery对象的构建方式2 .jQuery方法的调用方式 分析一:jQuery的无new构建JavaScript是函数式语

2015-12-29 15:18:17 745

原创 jQuery源码分析7--分离构造器

分离构造器通过new操作符构建一个对象,一般经过四步:  A.创建一个新对象  B.将构造函数的作用域赋给新对象(所以this就指向了这个新对象)  C.执行构造函数中的代码  D.返回这个新对象最后一点就说明了,我们只要返回一个新对象即可。其实new操作符主要是把原型链跟实例的this关联起来,这才是最关键的一点,所以我们如果需要原型链就必

2015-12-29 15:16:21 471

转载 深入理解JavaScript系列文章集锦

深入理解JavaScript系列文章,包括了原创,翻译,转载,整理等各类型文章。深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点深入理解JavaScript系列(2):揭秘命名函数表达式深入理解JavaScript系列(3):全面解析Module模式深入理解JavaScript系列(4):立即调用的函数表达式深入理解Jav

2015-12-29 14:48:51 754

原创 jQuery源码分析6--jQuery对象的构建

对象的构建面向对象(OOP)的语言都有一个特点,它们都会有类的这一概念,通过类可以抽象出创建具体相同方法与属性的对象。但是ECMAScript中是没有类的概念的,因此它的对象与基于类的语言如java的定义是有所不同的。在JavaScript世界中函数作为“一等公民”,它不仅拥有一切传统函数的使用方式(声明和调用),而且可以做到像简单值一样赋值、传参、返回,这样的函数也称之为

2015-12-29 14:35:50 482

原创 jQuery源码分析5

jQuery多库共存处理多库共存换句话说可以叫无冲突处理。核心为接管权利的交接,谁当家。就是意思当人多的时候你喊TOM,可能会有好多人回头,为了防止更新或者使用中的冲突,要把使用权空出来。特别要库在编码是注意引入的顺序!!总的来说会有2种情况会遇到:   1、$太火热,jQuery采用$作为命名空间,不免会与别的库框架或者插件相冲突。   2

2015-12-29 13:56:20 446

原创 jQuery源码分析4

jQuery中ready与load事件jQuery有3种针对文档加载的方法$(document).ready(function() { // ...代码...})//document ready 简写$(function() { // ...代码...})$(document).load(function() { // ...代码...})

2015-12-29 13:43:56 446

原创 jquery源码学习3

jQuery的类数组对象结构为什么是类数组对象呢?很多人迷惑的jQuery为什么能像数组一样操作,通过对象get方法或者直接通过下标0索引就能转成DOM对象。首先我们看jQuery的入口都是统一的$, 通过传递参数的不同,实现了9种方法的重载:1. jQuery([selector,[context]])2. jQuery(element)3. jQuery

2015-12-29 10:48:41 370

原创 jquery源码分析2

立即调用表达式任何库与框架设计的第一个要点就是解决命名空间与变量污染的问题。jQuery就是利用了JavaScript函数作用域的特性,采用立即调用表达式包裹了自身的方法来解决这个问题。jQuery的立即调用函数表达式的写法有三种:写法1:(function(window, factory) { factory(window)}(this, funct

2015-12-29 10:37:12 417

原创 jquery源码学习1

jQuery整体架构任何程序代码不是一开始就复杂的,成功也不是一躇而蹴的,早期jQuery的作者John Resig在2005年提议改进Prototype的“Behaviour”库时,只是想让其使用更简单才发布新的jQuery框架。起初John Resig估计也没料想jQuery会如此的火热。我们可以看到从发布的第一个1.0开始到目前最新的2.1.1其代码膨胀到了9000多行,它兼

2015-12-29 09:42:25 674

转载 jquery中之get和post的区别

jQuery - AJAX get() 和 post() 方法jQuery get() 和 post() 方法用于通过 HTTP GET 或 POST 请求从服务器请求数据。HTTP 请求:GET vs. POST两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST。GET - 从指定的资源请求数据POST - 向指定的资源提交要处

2015-12-28 19:44:52 2848

原创 jsonp教程及实现

JSONP 教程本章节我们将向大家介绍 JSONP 的知识。Jsonp(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据。为什么我们从不同的域(网站)访问数据需要一个特殊的技术(JSONP )呢?这是因为同源策略。同源策略,它是由Netscape提出的一个著名的安全策略,现在所有支持Jav

2015-12-26 20:38:47 641 1

转载 json详解与介绍

mcgrady 善于总结,经常总结随笔 - 239  文章 - 0  评论 - 426  博客园  首页  新随笔    管理   JSON详解阅读目录JSON的两种结构认识JSON字符串在JS中如何使用JSON在.NET中如何使用JSON总结JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,

2015-12-25 23:01:29 410

原创 js读取数据库的数据

在项目中遇到一个问题,需要在JS中读取数据库中的值,然后再把值返回到页面中,解决方案如下:使用Ajax方法来实现,需要用到ajax.dll(一个ajax技术开发的帮助类库)。实施过程如下:    1、引用Ajax.dll    2、在App_Code写具体的方法,最好单独建立一个类文件,然后写具体方法。       复制代码代码如下:public c

2015-12-25 22:10:55 13361

原创 web性能测试基于自己的网站

性能测试基本知识:base a  前端性能前辈7 天打造前端性能监控系统zhangtao | 11 May 2014引言前阵子在w3ctech的走进名企 - 百度前端 FEX 专场上曾“夸下海口”说听完讲座后七天就可以打造自己的前端性能监控系统,既然说出去了也不能食言。从前一篇文章前端数据之美相信大家对前端数据有了一定的了解,下面就针对其

2015-12-25 19:15:19 3866

转载 hello world解析执行过程

开篇学习任何一门编程语言,都会从hello world 开始。对于一门从未接触过的语言,在短时间内我们都能用这种语言写出它的hello world。然而,对于hello world 这个简单程序的内部运行机制,我相信还有很多人都不是很清楚。hello world 这些信息是如何通显示器过显示的?cpu执行的代码和程序中我们写的的代码肯定不一样,她是什么样子的?又是如何从我们写的代码

2015-12-25 16:41:11 2928

原创 js学习笔记之基础知识

条件运算符JavaScript 还包含了基于某些条件对变量进行赋值的条件运算符。语法variablename=(condition)?value1:value2 例子greeting=(visitor=="PRES")?"Dear President ":"Dear ";如果变量 visitor 中的值是 "PRES",则向变量 greeting 赋值 "Dear Pres

2015-12-25 15:48:16 418

转载 内存优化,代码优化基础

开篇相信有过编码经验的人都知道,程序的正常运行,只是最基本的要求。更多的,还要考虑程序的性能,运行效率,组织结构,和重用性等等。今天将简单的讨论一下如何优化程序性能。要写出高效的程序,可能多数初学者想到的是在程序中用合适的算法和数据结构。这确实是一中提高程序性能的主要方法。而这里要讨论的是另一种方法,也是很多人都忽略但确实很重要的方法。也是我们这篇文章的主题:

2015-12-25 15:46:30 1480

原创 js之前端表达式

JavaScript RegExp 对象RegExp 对象RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。直接量语法/pattern/attributes创建 RegExp 对象的语法:new RegExp(pattern, attributes);参数参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。

2015-12-24 15:40:05 484

原创 微信鼠标点击显示二维码代码

function showImg(){ document.getElementById("wxImg").style.display='block'; } function hideImg(){ document.getElementById("wxImg").style.display='none'; } //js控制鼠标移动状态

2015-12-23 16:33:26 4468

原创 各种数据结构的访问优缺点

1.vector  底层数据结构为数组 ,支持快速随机访问2.list    底层数据结构为双向链表,支持快速增删3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问4.stack   底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时5.queu

2015-12-14 21:26:45 1669

原创 二分查找

二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以

2015-12-14 20:49:09 488

转载 排序算法大总结,代码来说话

排序一直以来都是让我很头疼的事,以前上《数据结构》打酱油去了,整个学期下来才勉强能写出个冒泡排序。由于下半年要准备工作了,也知道排序算法的重要性(据说是面试必问的知识点),所以又花了点时间重新研究了一下。  排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。  内排序有可以

2015-12-14 16:20:45 428

原创 冒泡排序算法

冒泡排序算法import java.util.*;public class BubbleSort { public static void bubbleSort(int[] arr) { if (arr == null || arr.length < 2) { return; } for (int i = arr

2015-12-14 16:04:51 388

原创 线性结构

线性结构为一对一的关系,类比于一对多的非线性结构,也可从前继与后继角度考虑。常用的线性结构有:线性表,栈,队列,循环队列,数组。线性表中包括顺序表、链表等,其中,栈和队列只是属于逻辑上的概念,实际中不存在,仅仅是一种思想,一种理念;线性表则是在内存中数据的一种组织、存储的方式。  顺序表顺序表将元素一个接一个的存入一组连续的存储单元中,在内存物理上是连续的。如下图:顺序表存储密

2015-12-14 14:22:25 747

原创 哈希表那些事

1官方定义:散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,

2015-12-14 11:24:02 527

原创 广义表的前世今生

总述:广义表(Lists,又称列表)是一种非线性的数据结构,是线性表的一种推广。即广义表中放松对表元素的原子限制,容许它们具有其自身结构。它被广泛的应用于人工智能等领域的表处理语言LISP语言中。在LISP语言中,广义表是一种最基本的数据结构,就连LISP 语言的程序也表示为一系列的广义表。官方定义:广义表是n(n≥0)个元素a1,a2,…,ai,…,an的有限序列。  其中:

2015-12-14 11:12:02 481

转载 排序算法理论及动态实践图

排序的定义:输入:n个数:a1,a2,a3,...,an输出:n个数的排列:a1',a2',a3',...,an',使得a1'In-place sort(不占用额外内存或占用常数的内存):插入排序、选择排序、冒泡排序、堆排序、快速排序。Out-place sort:归并排序、计数排序、基数排序、桶排序。当需要对大量数据进行排序时,In-place sort就显示

2015-12-14 10:38:56 1066

转载 排序与时间复杂度

选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。冒泡法:  这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡:  复杂度为O(n*n)。当数据为正序,将不会有交换。复杂度为O(0)。直接插入排序:O(n*n)选择排序:O(n*n)快速排序:平均时间复

2015-12-14 10:24:22 1110

bootstrap.min.js

一个很nice的前段开发装饰框架.bootstrap.min.js

2016-07-01

数据结构与算法分析

数据结构与算法分析

2015-12-31

架构之美清晰中文完整版

架构之美清晰中文完整版

2015-12-31

Struts2权威指南

Struts2权威指南.pdf

2015-12-31

jsp2.0 技术手册

jsp2.0 技术手册 .pdf

2015-12-31

Linux命令大全完整版

Linux命令大全完整版 .pdf

2015-12-31

Java面试宝典2014版

Java面试宝典2014版 .pdf

2015-12-31

JavaScript银行后台信息订单管里平台,暂时只开了添加信息和查看信息

JavaScript银行后台信息订单管里平台,暂时只开了添加信息和查看信息

2015-12-31

仓库管理系统js 后台java

仓库管理系统js 后台java

2015-12-31

树的遍历 c++ 编写

树的遍历,c++实现的代码,给大家分享下

2015-12-31

js实例300个

js实例300个,很好的学习教材实例。

2015-12-31

租房子网站,轻松短租网,实现人们在日常生活中租房子的愿望

实现人们在日常生活中租房子的愿望,租房子网站,轻松短租网,

2015-12-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除