240
每个人都有属于自己的一片森林,也许我们从来不曾去过,但它一直在那里,总会在那里。迷失的人迷失了,相逢的人会再相逢!

04 2019 档案

摘要:前言 前端开发中,起初只要在script标签中嵌入几十上百行代码就能实现一些基本的交互效果,后来js得到重视,应用也广泛起来了, jQuery,Ajax,Node.Js,MVC,MVVM等的助力也使得前端开发得到重视,也使得前端项目越来越复杂, 然而,JavaScript却没有为组织代码提供任何明显 阅读全文
posted @ 2019-04-26 10:07 _gxing 阅读(1026) 评论(0) 推荐(0)
摘要:一,规范目的 为提高团队协作效率,便于前端后期优化维护,输出高质量的文档。 二、基本准则 符合web标准,结构表现行为分离,兼容性优良。页面性能方面,代码要求简洁明了有序, 尽可能的减小服务器负载,保证最快的解析速度。 项目的维护和二次开发可能是直接或间接的团队合作,所以创建易维护的代码是一个项目成 阅读全文
posted @ 2019-04-24 14:01 _gxing 阅读(1093) 评论(0) 推荐(0)
摘要:一、语义化标签 语义化标签 为页面提供了更好的页面结构。 二、增强型表单 HTML5 提供了多个新的表单输入类型。 同时,还增加了新的表单属性: 1、placehoder 属性,简短的提示在用户输入值前会显示在输入域上。即我们常见的输入框默认提示,在用户输入后消失。 2、required 属性,是一 阅读全文
posted @ 2019-04-23 17:54 _gxing 阅读(3528) 评论(1) 推荐(0)
摘要:概念 装饰者(decorator)模式能够在不改变对象自身的基础上,动态的给某个对象添加额外的职责,不会影响原有接口的功能。 模拟传统面向对象语言的装饰者模式 JavaScript中的装饰器模式 对 window.onload 进行装饰例子 使用AOP(面向切面编程)装饰函数 主要是以为在JavaS 阅读全文
posted @ 2019-04-23 15:04 _gxing 阅读(3945) 评论(0) 推荐(0)
摘要:概念 发布 订阅模式又叫观察者模式,它定义了对象间的一种一对多(一个发布,多个观察)的关系,让多个观察者对象同时监听某一个主题对象,当一个对象发生改变时,所有依赖于它的对象都将得到通知。 优点 1、支持简单的广播通信,当对象状态发生改变时,会自动通知已经订阅过的对象。 2、发布者与订阅者耦合性降低 阅读全文
posted @ 2019-04-23 14:04 _gxing 阅读(656) 评论(0) 推荐(0)
摘要:概念 为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使子系统更加容易使用。 外观模式在JS中,可以认为是一组函数的集合。 实现 阅读全文
posted @ 2019-04-22 15:49 _gxing 阅读(386) 评论(0) 推荐(0)
摘要:概念 模板方法模式是一直昂只需使用继承就可以实现的非常简单的模式。 模板方法模式由两部分结构组成,第一部分是抽象父类,第二部分是具体实现的子类。 实现 模板方法模式一般的实现方式为继承。 阅读全文
posted @ 2019-04-22 15:34 _gxing 阅读(292) 评论(0) 推荐(0)
摘要:概念 为一个对象提供一个代用品或占位符,以便控制对它的访问。 当客户不方便直接访问一个对象的时候,需要提供一个替身对象来控制对这个对象的访问。 替身对象对请求做出一些处理之后, 再把请求转交给本体对象。 实现 代理模式共有三种:保护代理、虚拟代理、缓存代理 保护代理: 用于控制不同权限的对象对目标权 阅读全文
posted @ 2019-04-22 14:54 _gxing 阅读(708) 评论(0) 推荐(0)
摘要:概念 命令模式中的命令(command) 指的是 一个执行某些待定事情的指令。 用一种松耦合的方式来设计程序,使得请求发送者和请求接收者能够消除彼此之间的耦合关系。 例子 理解宏命令 宏命令是一组命令的集合,通过执行宏命令的方式,可以一次执行一批命令。 这样类似把页面的所有函数方法放在一个数组里面去 阅读全文
posted @ 2019-04-22 12:03 _gxing 阅读(1815) 评论(0) 推荐(0)
摘要:概念 模块模式的思路 就是 就是单例模式添加私有属性和私有方法,减少全局变量的使用。 简单的代码结构: 什么时候使用模块模式? 如果我们必须创建一个对象并对某些对象进行初始化时,同时还要公开访问这些私有数据的方法,name这个时候我们就可以使用模块模式了。 增强的模块模式 增强的模块模式的使用场合是 阅读全文
posted @ 2019-04-22 10:49 _gxing 阅读(1253) 评论(0) 推荐(0)
摘要:策略模式 概念 定义一系列算法,把它们一个个封装起来。 将算法的使用与算法的实现分离开来 实现 在组合业务规则方面,比较经典的是表单的验证方法。 优缺点 优点:可以有效地避免多重条件语句,将一系列方法封装起来也更直观,利于维护 缺点:往往策略集会比较多,要事先就了解定义好所有的情况 阅读全文
posted @ 2019-04-19 17:51 _gxing 阅读(446) 评论(0) 推荐(0)
摘要:什么是设计模式? 设计模式(design pattern)是一套反复使用、思想成熟、经过分类和无数实战设计经验的总结;是为了代码可重用、可扩展、可解耦、更容易被人理解和保证代码可靠性。 学习设计模式,有助于写出可复用和可维护性高的程序,不过要注意,使用不当的话,可能会事倍功半。 设计原则 1. 单一 阅读全文
posted @ 2019-04-19 17:17 _gxing 阅读(272) 评论(0) 推荐(0)
摘要:单例模式 概念 单例模式 就是保证一个类只有一个实例,并提供一个访问它的全局访问点。 实现方法 先判断实例是否存在,如果存在直接返回,如果不存在就创建实例后在返回,确保了一个类只有一个实例对象。 阅读全文
posted @ 2019-04-19 15:59 _gxing 阅读(327) 评论(0) 推荐(0)
摘要:原型模式 概念: 原型模式 是指原型实例指向创建对象的种类,并通过拷贝这些原型创建新的对象,是一种用来创建对象的模式,也就是创建一个对象作为另一个对象的prototype属性。 实现原型模式: 方法一:使用 Object.create(prototype, optionalDescriptorObj 阅读全文
posted @ 2019-04-19 15:56 _gxing 阅读(2061) 评论(0) 推荐(0)
摘要:前言: Web 开发中最常用的调试就是 console.log(),console 除了 本身 log() 方法外,还有其他很多方法。 console.log() console.log() 有许多意想不到的功能,我们经常使用 console.log(object) 来查看一个对象,或者使用 con 阅读全文
posted @ 2019-04-17 11:43 _gxing 阅读(607) 评论(0) 推荐(0)
摘要:前言 在使用 JavaScript 的时候,有时我们会处理大量条件语句,这里有5个技巧帮助我们编写更简洁的条件语句。 一、对多个条件使用 Array.includes 例子: 上面的例子看起来不错,但如果有更多水果需要判断呢,比如桃子、草莓、橙子等等,我们要用更多的 || 来扩展这个表述吗? 我们可 阅读全文
posted @ 2019-04-10 16:12 _gxing 阅读(1837) 评论(0) 推荐(0)
摘要:前言 事件的触发权很多时候属于用户,可能会出现下列问题: 向后台发送数据,用户频繁触发,对服务器造成压力; 一些浏览器事件,如window.onresize,window.mousemove等,触发的频率会非常高,会造成浏览器性能问题。 如果碰到这些问题,那就需要用到函数节流与防抖了。 一、函数节流 阅读全文
posted @ 2019-04-10 15:03 _gxing 阅读(251) 评论(0) 推荐(0)
摘要:性能优化常见的办法: 一、资源压缩与合并 资源压缩与合并 主要包括这些方面: html压缩,CSS压缩,JS的压缩和混乱以及合并。 1、html 压缩 html代码压缩就是压缩这些在文本文件中有意义,但是在HTML中不显示的字符,包括空格,制表符,换行符等,还有一些其他意义的字符,如HTML注释也可 阅读全文
posted @ 2019-04-09 18:03 _gxing 阅读(275) 评论(0) 推荐(0)
摘要:JS 常见的几种数组去重方法 一、最简单方法(indexOf 方法) 实现思路:新建一个数组,遍历要去重的数组,当值不在新数组的时候(indexOf 为 -1)就加入该新数组中; 二、优化遍历数组法 实现思路:双层循环,外循环表示从0到arr.length,内循环表示从i+1到arr.length, 阅读全文
posted @ 2019-04-09 16:28 _gxing 阅读(71808) 评论(0) 推荐(0)
摘要:前言: 继承 是 OO 语言中的一个最为人津津乐道的概念。许多 OO 语言都支持两种继承方式:接口继承 和 实现继承。接口继承只继承方法签名,而实现继承则继承实际的方法。如前所述,由于函数没有签名,在 ECMAScript 中无法实现接口继承。 ECMAScript 只支持实现继承,而且其 实现继承 阅读全文
posted @ 2019-04-01 17:18 _gxing 阅读(6293) 评论(0) 推荐(0)
摘要:一、创建对象的几种方式 1、通过字面量创建 缺点:使用同一个接口创建很多单个对象,会产生大量重复代码 2、通过 工厂模式 创建对象 缺点:工厂模式虽然解决了创建多个相似对象的问题,但没解决对象识别的问题(即怎样知道一个对象的类型)。 3、通过 构造函数 创建对象 缺点:使用构造函数,每个方法都要在每 阅读全文
posted @ 2019-04-01 16:29 _gxing 阅读(502) 评论(0) 推荐(0)
摘要:图解: 一、普通对象 跟 函数对象 JavaScript 中,一切皆对象。但对象也有区别,分为 普通对象 跟 函数对象,Object 和 Function 是 JavaScript 自带的函数对象。 凡是通过 new Function() 创建的对象都是函数对象,其他的都是普通对象。 f1,f2,归 阅读全文
posted @ 2019-04-01 14:11 _gxing 阅读(298) 评论(0) 推荐(0)