- 博客(21)
- 资源 (18)
- 收藏
- 关注
转载 【学习笔记javascript设计模式与开发实践(闭包和高阶函数)----3】
第3章 闭包和高阶函数3.1 闭包对于JavaScript程序员来说闭包(closure)是一个难懂又必须征服的概念。闭包的形成与变量的作用域以及变量的生存周期密切相关。(虽然前面写了好多遍了,但还是过一遍吧,不想看就跳过这一节)3.1.1作用域函数中用var声明的变量是只有在函数内部访问得到,函数外部访问不到的。在javascript中,函数可以用来创造函数作用域
2016-09-29 16:04:38 448
转载 2016十家公司前端小记
目录前言手写事件模型及事件代理/委托前端性能优化闭包原理及应用手写Function.bind函数手写数组快速排序/去重JS的定义提升跨域JSONP原理将url的查询参数解析成字典对象函数节流设计模式
2016-09-28 17:48:33 342
转载 Javascript闭包的几种写法及用途
一、什么是闭包和闭包的几种写法和用法 1、什么是闭包 闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。闭包的特点: 1. 作为一个函数变量的一个引用,当函数返回时,其处于激活状态。
2016-09-28 15:15:43 461
转载 【学习笔记javascript设计模式与开发实践(this、call和apply)----2】
第2章this、call和apply跟别的语言大相径庭的是,javascript的this总是指向一个对象,而具体指向哪个对象是运行时基于函数的执行环境动态绑定的,而非函数被声明时的环境。this的指向除去不常用的with和eval的情况,具体到实际应用中,this的指向大致可以分为以下4种o 作为对象的方法调用o 作为普通函数调用o 构造器调
2016-09-28 09:51:56 309
转载 【学习笔记javascript设计模式与开发实践----1】
个人吐槽读了不少的关于js的基础书箱,有必要在js的编码结构和编码效率上有所提高(个人资质很差,所以只代表个人观点。如有说的不对的,还请大神们见谅……),个人一直觉得,不会用设计模式不代表你就不是一个好的程序员,可能在编码的过程中,你已经不知不觉的用到一些模式,有好多人在面试的过程都会被问到各种设计模式的东西。如果被面试的人是背给你听的,那好吧……,中国的应试教育真的是很坑人啊!算啦回到正
2016-09-27 17:46:22 348
转载 【js设计模式笔记---观察者模式】
观察者模式又称发布—订阅者(publisher-subscriber模式),这是一种多对多的关系,需要一种高级的抽象策略,以便订阅者能够彼此独立地发生改变,而发行方能够接受任何有消费意向的订阅者。模式的实践在javascript中有很多种方法可能实现发布—订阅模式。在展示那些示例之前,我们先确保各种角色的扮演者(对象)及其行为(方法)都已就绪。1. 订阅者:可以订阅
2016-09-27 17:34:31 260
转载 【js设计模式笔记---代理模式】
代理模式代理是一个对象,它可以用来控制对另一个对象的访问。它与另外那个对象实现了同样的接口,并且会把任何方法调用传递给那个对象。另外那个对象通常称为本体。代理可以代替其本体被实例化,并使其可被远程访问。它还可以把本体的实例化推迟到真正需要的时候,对于实例化比较费时的本体,或者因尺寸较大以至于不用时不宜保存在内存中的本体,这特别有用。在处理那些需要较长时间才能把数据载入用用户界面的类时,代理
2016-09-27 17:33:23 207
转载 【js设计模式笔记---享元模式】
享元模式享元(flyweight)模式。它最适合于解决因创建大量类似对象而累及性能的问题。这种模式在javascript中尤其有用,因为复杂的javascript代码可能很快就会用光浏览的甩有可用内存。通过把大量独立的对象转化为少量其享对象,可以降低运行Web应用程序所需要 的资源数量。这种技术带来的好处可大可小。对于那些可能一连用上几天也不会重新加载的大型应用系统,任何减少内存用量的技术
2016-09-27 17:32:47 184
转载 【js设计模式笔记---装饰者模式】
装饰者模式本节讨论的是一种为对象增添特性的技术,它并不使用创建新子类的手段。装饰者模式可以用来透明地把对象包装在具有同样接口的另一对象之中。这样一来,你可以给一个方法添加一些行为,然后将方法调用传递给原始对象。相对于创建子类来说,使用装饰都对象是一种更灵活的选择。这种模式特别适合javascript,因为通常javascript代码并不怎么依赖对象的类型。装饰者的结构装饰者
2016-09-27 17:32:10 227
转载 【js设计模式笔记---适配器模式】
适配器模式适配器模式可用来在现有接口和不兼容的类之间进行适配。使用这种模式的对象又叫包装器,因为它们在用一个新的接口包装另一个对象。许多时候创建适配器对程序员和接口设计人员都有好处。在设计类的时候往往会遇到有些接口不能与现有API一同使用的情况。借助于适配器,你不用直接修改这些类也能使用它们。适配器的特点适配器可以被添加到现有代码中以协调两个不同的接口。如果现有代码的接口能
2016-09-27 17:31:30 241
转载 【js设计模式笔记---门面模式】
门面模式门面模式有两个作用:一是简化类的接口;二是消除类与使用它的客户代码之间的耦合。在javascript中,门面模式常常是开发人员最亲密的朋友。它是几乎所有javascript库的核心原则。通过创建一些使得方法让复杂系统变得更加简单易用,门面模式可以使库提供的工具更容易理解。使用这种模式,程序员可以间接地与一个子系统打交道,与直接访问子系统相比,这样做更不容易出错。门面模式简化
2016-09-27 17:30:53 324
转载 【js设计模式笔记---组合模式】
组合模式组合模式是一种专为创建Web上动态用户界面而量身定制的模式。使用这种模式,可以用一条命令在多个对象上激发复杂的或递归的行为。组合模式为操劳过度的javascript程序员带来了两大的好处你可以用同样的方法处理对象的集合与其中的特定子对象。组合对象与组成它的对象实现了同一批操作。对组合对象执行的这些操作将向下传递到所有的组成对象,这样一来所有的组成对象都会执行同样的操
2016-09-27 17:30:05 227
转载 【js设计模式笔记---桥接模式】
桥接模式Gof的定义,桥接模式的作用在于“将抽象与其实现隔离开来,以便二者独立变化“。这种模式对javascript中常见的事件驱动的编程有裨益。示例:事件监听器桥接模式最常见和实际的应用场合之一是事件监听器回调函数。假设有一个名为getBeerById的API函数,它根据一个标识符返回有关某种啤酒的信息。当然,在web应用软件中,你希望在用户执行某种操作时获取这种信息。那个被
2016-09-27 17:29:28 253
转载 【js设计模式笔记---工厂模式】
工厂模式简单工厂最好用一个例子来说明简单工厂模式的概念。假设你想开几个自行车商店,每个店都有几种型号的自行车出售。这可以用一个类来表示/*BicycleShopclass*/var BicycleShop =function(){};BicycleShop.prototype= { sellBicycle:function(model){
2016-09-27 17:28:42 243
转载 【js设计模式笔记---方法的链式调用】
方法的链式调用调用链的结构对$函数你已经很熟悉了。它通常返回一个html元素或一个html元素的集合,如下:function$(){ var elements = []; for(vari=0,len=arguments.length;i var element = arguments[i];
2016-09-27 17:21:24 250
转载 【js设计模式笔记---单体模式】
单体模式单体模式是javascript中最基本但又最有用的模式之一,它可能比其他任何模式都更常用。这种模式提供了一种将代码组织为一个逻辑单元的手段,这个逻辑单元中的代码可以通过单一的变更进行访问。通过确保单体对象只存在一份实例,你就可以确信自己的所有代码使用的都是全局资源。这种模式在javascript中非常重要,也许比在其他任何语言中都更重要。在网页上使用全局变量有很大的风险,而
2016-09-27 17:19:48 204
转载 【js设计模式笔记---继承】
继承在javascript中继承是一个非常复杂的话题,比其他任何面向对象语言的中的继承都复杂得多。在大多数其他面向对象语言中,继承一个类只需要使用一个关键字即可。与它们不同,在javascript中要想达到传承公用成员的目的,需要采取一系列措施。更有甚者,javascript属于使用原型式继承的少数语言之一。利益于这种语言的灵活性,你既可使用标准的基于类的继承,也可使用更微妙一些的原型式继
2016-09-27 16:31:43 170
转载 【js设计模式笔记---封装】
目录(?)[-]封装和信息隐藏信息隐藏原则封装与信息隐藏接口扮演的角色创建对象的基本模式门户大开型对象用命名规范区别私用成员作用域嵌套函数和闭包用闭包实现私用成员更多高级对象创建模式静态方法和属性常量单体和对象工厂封装和信息隐藏为对象创建私用成员是任何面向对象语言中最基本和有用的特性之一。通过将一个方法或属性声明为
2016-09-27 16:24:10 939
转载 【js设计模式笔记---序】
目录(?)[-]javascript的灵活性弱类型语言函数是一等公民对象的易变性javascript的灵活性javascript的强大特性是其灵活性。作为javascript程序员,只要你愿意,可以把程序写得很简单、也可以写得很复杂。这种语言也支持多种不同的编程风格。你既可以采用函数式编程风格,也可以采用更复杂一点的面向对象编程风格。即使你不懂函数式编程
2016-09-27 11:39:55 221
原创 PHP利用token防止表单重复提交
<?php /* * PHP简单利用token防止表单重复提交 */ session_start(); header("Content-Type: text/html;charset=utf-8"); function set_token() { $_SESSION['token'] = md5(microtime(true));//可以做加密处理 } fu
2016-09-27 10:15:49 312
fiddler4.5
2016-08-29
一套框架,完整生态-走入NG2的生态世界
2016-08-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人