摘要: 一、原型模式结构1 // 定义一个jQuery构造函数2 var jQuery = function() {3 4 };5 6 // 扩展jQuery原型 7 jQuery.prototype = {8 9 };上面是一个原型模式结构,一个jQuery构造函数和jQuery实例化对象的的原型对象,我们一般是这样使用的:1 var jq = new jQuery(); //变量jq通过new关键字实例化jQuery构造函数后就可以使用原型对象中的方法,但是jQuery并不是这么使用的二、返回选择器实例 1 var jQuery = function() { 2 3 // 返回选... 阅读全文
posted @ 2012-12-27 16:47 杨君华 阅读(4434) 评论(4) 推荐(10) 编辑
摘要: 一、创建正则对象: 1、构造函数RegExp创建正则对象 2、使用正则直接量 二、正则表达式字符 1、反斜线\ 在正则表达式中表示转义序列 特殊符号: 如果想要在正则表达式中匹配它们,应该在他们前面加上反斜线,如: 2、直接量字符 3、字符类 下面也属于字符类: 4、重复字符类 贪婪的重复字符 非贪 阅读全文
posted @ 2012-12-11 10:01 杨君华 阅读(2344) 评论(3) 推荐(7) 编辑
摘要: 一、jQuery.extend方法1、用途 jQuery.extend方法是将多个对象(提供对象)的属性(包括原型中的属性)复制给另一个对象(要扩展的目标对象),使目标对象增强行为;当提供对象有而目标对象没有的属性(包括方法),则直接复制给目标对象,当它们有相同的属性名(即key键相同),且值为对象... 阅读全文
posted @ 2012-09-26 16:29 杨君华 阅读(2810) 评论(2) 推荐(2) 编辑
摘要: 在浏览网页时可以看到复制功能,如:在看一个带有源码的demo时,可以点击复制,把源码复制到剪切板,然后粘贴到本地review,ie浏览器可以使用浏览器内置对象(window.clipboradData)的setData方法,但无法兼容其他浏览器,下面介绍ZeroClipboard:一、原理ZeroClipboard利用透明的flash让其漂浮在复制按钮之上,将需要复制的内容传入flash,在通过flash的复制功能把传入的内容复制到剪切板。二、结构1、ZeroClipboard其实是国外的一个js类库,源码结构如:var ZeroClipboard = { //这里是属性和方法.... 阅读全文
posted @ 2012-09-10 15:30 杨君华 阅读(6586) 评论(5) 推荐(1) 编辑
摘要: 一、事件流1、事件冒泡 事件沿DOM树向上传播2、事件捕获 事件到达预定目标之前被捕获3、DMO2级事件 事件捕获阶段,处于目标阶段,事件冒泡阶段二、事件处理程序格式:on + "事件名"1、HTML事件处理程序1 <input type="button" value="click me" onclick="showMessage()" >2、DOM0级事件处理程序1 element.onclick = function(){ //... }3、DOM2级事件处理程序1 element.addEventListener(t 阅读全文
posted @ 2012-06-29 17:21 杨君华 阅读(2052) 评论(0) 推荐(1) 编辑
摘要: 一、理解篇:1、每创建的一个函数都有一个prototype属性,该属性是一个对象,prototype默认有一个constructor属性,默认指向prototype对象所在函数的指针;2、prototype对象中定义的属性和方法是实例化prototype所在函数对象所共享的,当prototype为字面量对象时,其constructor属性将指向Object构造函数;3、在实例对象中默认有一个内部属性__proto__,该属性指向原型对象,即(构造函数中的prototype属性,实例对象的原型对象)4、在一个函数被作为构造函数时,我们把在构造函数中定义的属性,方法称为实例属性和方法,把在prot 阅读全文
posted @ 2012-05-28 17:52 杨君华 阅读(2153) 评论(3) 推荐(2) 编辑
摘要: 一、函数声明与函数表达式1、函数声明之后,可以在声明之前调用,也可以在声明之后调用,因为所有的函数声明(包括var声明的变量)都会在代码执行之前就加载到作用域中,函数名其实是一个Function类型的对象的引用,声明函数时函数名其实也就被赋值了;2、而函数表达式则不同,函数表达式是将函数赋值给一个变量,只有当代码执行到那一行的时候,函数才真正的有定义,因此这个变量只有在表达式之后才能使用,否则这个变量为undefined,如果这个变量不是通过var关键字声明,那么它就没有任何值。例1:fn1(); //fn1fn2(); //fn2 is not a functionconsole.log(t 阅读全文
posted @ 2012-05-22 14:54 杨君华 阅读(2631) 评论(11) 推荐(3) 编辑
摘要: 一、this出现的几种情况1、构造函数中的thisfunction Fn(){ console.log(this); }var obj1 = new Fn(); //obj1, 函数Fn中的this指向实例对象obj12、普通函数中的thisfunction Fn1(){ console.log(this); }Fn1(); //window, Fn1属于window全局对象的一个属性,即:Fn1()===window.Fn1(),函数Fn1中的this指向window对象Fn()===window.Fn(); //window, Fn属于window全局对象的一个属性,即:Fn()===wi 阅读全文
posted @ 2012-04-28 16:28 杨君华 阅读(723) 评论(3) 推荐(2) 编辑
摘要: 一、setTimeoutsetTimeout(function(){ //要执行的代码 },200);理解:指隔200ms后,定时器代码被添加到队列中,等待JavaScript进程空闲后,代码才执行二、setIntervalsetInterval(function(){ //要执行的代码 },200);A、理解:1、上面代码是指每隔200ms就创建一个执行代码的定时器2、当使用setInterval时,仅当(在队列中)没有该定时器的任何其他代码实例时,才将定时器代码添加到队列中,引用JavaScript... 阅读全文
posted @ 2012-04-12 15:43 杨君华 阅读(21909) 评论(3) 推荐(1) 编辑
摘要: 一、函数(构造函数)、原型、实例对象之间的关系A、函数与原型的关系1、只要创建了一个函数,那么它就会根据一组特定的规则为该函数创建一个prototype属性(原型对象)如:function fun(){ }console.log(fun.prototype); //fun {},说明prototype是一个对象注意:原型中定义的属性、方法是所有调用构造函数实例化对象所共享的2、prototype属性都会自动获得一个constructor(构造函数)属性,constructor属性包含了prototype属性所在函数(fun)的指针,用来标识实例化对象的类型(并没有太大的实际意义),如果构造函数 阅读全文
posted @ 2012-03-22 14:45 杨君华 阅读(983) 评论(1) 推荐(4) 编辑