- 博客(33)
- 收藏
- 关注
原创 MVC
参考网址:http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html把数据请求和数据操作放在model中对视图的操作和改变放在view中事件绑定放controller中应该类似java框架里面的mvc,主要还是将页面的代码分层,页面显示HTML(V) + 事件控制(C)+数据模型 +(M),其中c和m都
2016-05-10 10:43:00
339
原创 单页面结构
参考网址:http://www.ruanyifeng.com/blog/2013/07/how_to_make_search_engines_find_ajax_content.html
2016-05-05 17:41:21
476
原创 为什么$(selector)之后,返回的是jQuery对象?
1)为什么$(selector)之后,返回的是jQuery对象?答:从jQuery的源代码中,我们可以知道:var $ = jQuery.因此当我们$(selector)操作时,其实就是jQuery(selector),创建的是一个jQuery对象.当然正确的写法应该是这样的:var jq = new $(selector);而jQuery使用了一个小技巧在外部避免了new,在jque
2016-05-04 18:43:53
1225
原创 使用 toString.call()方法判断数据类型
使用Object.prototype上的原生toString()方法判断数据类型,使用方法如下:Object.prototype.toString.call(value)1.判断基本类型:Object.prototype.toString.call(null);//”[object Null]”Object.prototype.toString.call(undefined);//”
2016-04-29 17:23:12
1676
1
转载 javascript中的toString()方法
javascript中的toString()方法,主要用于Array、Boolean、Date、Error、Function、Number等对象。下面是这些方法的一些解析和简单应用,做个纪律,以作备忘。(1)Array.toString():将数组转换成一个字符串,并且返回这个字符串。描述:当数组用于字符串环境中时,javascript会调用这一方法将数组自动转换成一个字符串。toSt
2016-04-28 11:16:58
624
转载 javascript的fn方法
jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(object);jQuery.extend(object); jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。jQuery.fn.extend(object);给jQuery对象添加方法。 fn 是什么
2016-04-26 17:18:43
823
原创 立即执行函数表达式(IIFE )
在javascript中有两种常用的声明函数的方法。函数声明:function foo() {//}函数表达式var foo = function() {}如果function出现在行首,解析器会认为是一个函数声明,函数声明不能立即执行。如果要使用立即执行的函数,必须使用函数表达式。但是函数表达式的function关键字不能出现在行首,所以要用括号将整个表达
2016-04-26 11:14:05
408
转载 javascript中call方法使用
JavaScript中call的使用自己感觉蛮纠结的,根据文档很好理解,其实很难确定你是否真正的理解。call 方法应用于:Function 对象调用一个对象的一个方法,以另一个对象替换当前对象。call([thisObj[,arg1[, arg2[, [,.argN]]]]])参数:thisObj 可选项。将被用作当前对象的对象。 arg1, arg2, ,
2016-04-25 17:45:32
625
转载 强大的原型链
JavaScript 不包含传统的类继承模型,而是使用 prototypal 原型模型。虽然这经常被当作是 JavaScript 的缺点被提及,其实基于原型的继承模型比传统的类继承还要强大。实现传统的类继承模型是很简单,但是实现 JavaScript 中的原型继承则要困难的多。由于 JavaScript 是唯一一个被广泛使用的基于原型继承的语言,所以理解两种继承模式的差异是需要一定时间
2016-04-25 17:42:57
453
1
转载 有趣的JavaScript原生数组函数
在JavaScript中,创建数组可以使用Array构造函数,或者使用数组直接量[],后者是首选方法。Array对象继承自Object.prototype,对数组执行typeof操作符返回object而不是array。然而,[] instanceof Array也返回true。也就是说,类数组对象的实现更复杂,例如strings对象、arguments对象,arguments对象不是Array
2016-04-25 17:41:30
318
转载 BOM新成就(1)--客户端存储数据(Storage实现)
数据构成了web站点的实际内容,这些数据多种多样,可以是独立的文件,也可以是位于某个数据库文件或者数据库服务器之中。现在,HTML 5 BOM允许在客户端实现较大规模的数据存储:一是web存储,二是Web SQL数据库存储。一、Web存储概述 Web存储机制是一种通过字符串形式的key/value对来安全的存储和使用数据的方法。Web存储和HTTP Cooki
2016-04-25 17:37:41
408
转载 冒泡型事件、捕获型事件
冒泡型事件的基本思想是、事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。[html] view plain copy print?html> head> title>title> head> body onclick="theClick()">
2016-04-25 17:35:26
357
转载 javascript中面向对象的三大作用
面向对象的三大作用作用1:封装框架我们可以定义一个对象,去封装一些不同的功能,这样,别人无需了解内部功能如何使实现的,只需要知道如何调用就可以了,这就是所谓的拿来主义。比如一个对象有不同的功能模块,用下面的简单代码来说明。[javascript] view plain copy var Ideal = function
2016-04-25 17:31:52
362
转载 JavaScript中的匿名函数及函数的闭包
1、匿名函数函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途。匿名函数:就是没有函数名的函数。1.1 函数的定义,首先简单介绍一下函数的定义,大致可分为三种方式第一种:这也是最常规的一种function double(x){ return 2 * x; }第二种:这种方法使用了Function构造函数,把参数列表
2016-04-25 17:23:39
291
转载 JavaScript事件代理和委托
在javasript中delegate这个词经常出现,看字面的意思,代理、委托。那么它究竟在什么样的情况下使用?它的原理又是什么?在各种框架中,也经常能看到delegate相关的接口。这些接口又有什么特殊的用法呢?这篇文章就主要介绍一下javascript delegate的用法和原理,以及Dojo,jQuery等框架中delegate的接口。JavaScript事件代理首先介绍一
2016-04-25 17:22:41
290
转载 javascript冒泡事件的意义及如何阻止冒泡事件
JavaSciprt事件中有两个很重要的特性:事件冒泡以及目标元素。当一个元素上的事件被触发的时候,比如说鼠标点击了一个按钮,同样的事件将会在那个元素的所有祖先元素中被触发。这一过程被称为事件冒泡;这个事件从原始元素开始一直冒泡到DOM树的最上层。任何一个事件的目标元素都是最开始的那个元素,在我们的这个例子中也就是按钮,并且它在我们的元素对象中以属性的形式出现。使用事件代理的话我们
2016-04-25 17:21:11
687
转载 深入懒加载
懒加载(LazyLoad)一直是前端的优化方案之一。它的核心思想是:当用户想看页面某个区域时,再加载该区域的数据。这在一定程度上减轻了服务器端的压力,也加快了页面的呈现速度。 懒加载多用于图片,因为它属于流量的大头。最典型的懒加载实现方案是先将需要懒加载的图片的src隐藏掉,这样图片就不会下载,然后在图片需要呈现给用户时再加上src属性。 公司内部库的懒加载正是采用
2016-04-25 17:19:24
1186
转载 浏览器的渲染原理简介
浏览器工作大流程废话少说,先来看个图:从上面这个图中,我们可以看到那么几个事:1)浏览器会解析三个东西:一个是HTML/SVG/XHTML,事实上,Webkit有三个C++的类对应这三类文档。解析这三种文件会产生一个DOM Tree。CSS,解析CSS会产生CSS规则树。Javascript,脚本,主要是通过DOM API和CSSOM API来操
2016-04-25 17:18:11
248
转载 JavaScript面向对象精要(二)
构造函数和原型对象构造函数也是函数,用new创建对象时调用的函数,与普通函数的一个区别是,其首字母应该大写。但如果将构造函数当作普通函数调用(缺少new关键字),则应该注意this指向的问题。var name = "Pomy";function Per(){ console.log("Hello "+this.name);}var per1 = new Per(); /
2016-04-25 17:15:51
254
转载 JavaScript面向对象精要(一)
数据类型在JavaScript中,数据类型分为两类:原始类型:保存一些简单数据,如true,5等。JavaScript共有5中原始类型: boolean:布尔,值为true或falsenumber:数字,值为任何整型会浮点数值string:字符串,值为由单引号或双引号括出的单个字符或连续字符(JavaScript不区分字符类型)null:空类型,其仅有一个值:nulllun
2016-04-25 17:14:54
321
原创 javascript的2种继承方式详解
js中继承可以分为两种:对象冒充和原型链方式一、对象冒充包括三种:临时属性方式、call()及apply()方式1.临时属性方式代码如下:function Person(name){ this.name = name; this.say = function(){ alert('My name is '+this.name);
2016-04-25 12:05:47
265
转载 BOM和DOM详解
DOM是一个使程序和脚本有能力动态地访问和更新文档的内容、结构以及样式的平台和语言中立的接口。,而BOM定义了JavaScript可以进行操作的浏览器的各个功能部件的接口。js组成我们都知道, javascript 有三部分构成,ECMAScript,DOM和BOM,根据宿主(浏览器)的不同,具体的表现形式也不尽相同,ie和其他的浏览器风格迥异。1. DOM 是 W3C
2016-04-25 09:54:46
28319
9
转载 编写高质量JavaScript代码的一些建议
在Medium上看到了两篇关于写高质量JavaScript代码的文章,觉得不错,特此搬过来,记下一笔,以待后续查阅。JavaScript 作为最受欢迎的编程语言之一,被广泛应用在各个领域:网站、服务端、游戏、操作系统等。跟人类一样,编程语言也是随着时间的推移慢慢进化的,而在进化的过程中,其创建者也会做出一些现在看来很糟糕的决定,给语言加入一些诟病。但是,开发人员也花费了很多时间去总结了很多
2016-04-23 18:42:11
478
转载 AngularJS vs. jQuery,看看谁更胜一筹
很多Web开发新手都会有这样的疑问“我应该使用什么开发框架呢,如何快速学会Web开发呢?”这个问题其实没有一个统一的正确答案,其中讨论最多的就是AngularJS和jQuery的差别。这两者的之间的比较很微妙,有时就像拿苹果和橘子在作比较,无论你选择谁作为Web前端开发的框架,都会有充足的理由。这篇文章我们谈谈何时选择AngularJS优于jQuery。 DOM不是第一优先
2016-04-23 12:13:45
449
转载 JS中的call()和apply()方法
1、方法定义call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象。 说明: call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。 如果没有提供 thisObj 参数,那
2016-04-22 17:07:37
206
转载 js数组最大值max和最小值min
var a=[1,2,3,5];alert(Math.max.apply(null, a));//最大值alert(Math.min.apply(null, a));//最小值多维数组var a=[1,2,3,[5,6],[1,4,8]];var ta=a.join(",").split(",");//转化为一维数组alert(Math.max.apply(null,ta));
2016-04-22 15:24:59
2418
转载 javascript之typeof、constructor、instanceof
javascript类型判断、对象类型判断、typeof、constructor、instanceof网上很多解析javascript中typeof、constructor、instanceof等使用的帖子,但是都不够全面、不够简单明了,我写了个简单的、却又比较全面的文章,希望能加深理解,对大家有帮助。———————————————————知识预
2016-04-21 14:41:36
393
转载 淡忘~浅思 » DOM笔记(十二):又谈原型对象
因为之前谢过一篇关于原型对象的笔记:浅谈JavaScript中的原型模式。现在我又重新看到这个话题,对原型有了进一步的理解,所以,又要谈谈原型对象。一、理解原型对象创建的每一个函数都有一个prototype属性,它指向这个函数的原型对象。利用原型模式创建的方法和属性是被所有实例所共享的。function Person(){}Person.prototype.name="d
2016-04-21 11:10:46
240
转载 淡忘~浅思 » DOM笔记(十三):JavaScript的继承方式
在Java、C++、C#等OO语言中,都支持两种继承方式:接口继承和实现继承。接口继承制继承方法签名,实现继承则继承实际的方法和属性。在SCMAScript中,由于函数没有签名,所以无法实现接口继承,只支持实现继承。实现继承主要依靠原型链来实现。一、原型链原型链是利用原型让一个引用类型继承另一个引用类型的方法,在DOM笔记(十二):又谈原型对象中,描述了构造函数、实例和原型
2016-04-21 11:07:34
264
原创 什么是闭包
javascript的变量有两种作用域:全局和局部。所有函数的内部都能读取到全局变量,而局部变量则只供函数内部使用。怎么样从外部读取函数内部声明的变量,我们就通过了闭包去解决了这个问题:
2016-04-20 17:32:50
157
转载 javascript冒泡事件的意义及如何阻止冒泡事件
JavaSciprt事件中有两个很重要的特性:事件冒泡以及目标元素。当一个元素上的事件被触发的时候,比如说鼠标点击了一个按钮,同样的事件将会在那个元素的所有祖先元素中被触发。这一过程被称为事件冒泡;这个事件从原始元素开始一直冒泡到DOM树的最上层。任何一个事件的目标元素都是最开始的那个元素,在我们的这个例子中也就是按钮,并且它在我们的元素对象中以属性的形式出现。使用事件代理的话我们
2016-04-19 09:40:23
334
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人