自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 sea.js介绍以及用法

在 hello.html 页尾,通过 script 引入 sea.js 后,有一段配置代码: seajs.config用来对 Sea.js 进行配置。seajs.config({ // 设置路径,方便跨目录调用 paths: { 'arale': 'https://a.alipayobjects.com/arale', 'jquery': 'https://a.alipayob

2017-02-09 16:35:19 3218

原创 webpack之旅03-output

{ entry: { app: './src/app.js', search: './src/search.js' }, output: { filename: '[name].js', path: __dirname + '/build' }}// writes to disk: ./build/app.js, ./build/search.js

2017-02-05 11:30:33 280

原创 webpack之旅02-entry

//webpack.config.jsconst config = { entry: './path/to/my/entry/file.js'};module.exports = config;同下const config = { entry: { main: './path/to/my/entry/file.js' }};对象语法,可以使用webpack-merge合并co

2017-02-05 11:21:32 234

原创 webpack之旅01-概述

WebPack是一个现代JavaScript应用程序模块打包工具。它有四个核心概念:entry, output, loaders, plugins. 一段代码看懂四个概念:const HtmlWebpackPlugin = require('html-webpack-plugin'); //installed via npmconst webpack = require('webpack');

2017-02-05 10:47:38 270

原创 require.js介绍以及用法

随着网页的交互逻辑越累越复杂,js语言本身不完善的继承机制与越来越庞大的js代码之间的矛盾越来越突出,于是,js模块化编程应运而生。目前,通行的Javascript模块规范共有两种:CommonJS和 AMD。1.CommonJS是随着node.js发展起来的,示例如下://Math.jsvar add = function(x,y){ return x+y;}exports.add

2017-01-29 12:16:24 419

原创 设计模式之职责链模式

// 为解除请求的发送者与接收者的耦合,而是多个对象都有机会处理这个请求。将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它。function Fn1() { console.log(1); return "nextSuccessor";}function Fn2() { console.log(2); var that = this; s

2017-01-12 11:19:32 296

原创 设计模式之桥接模式

//将抽象部分与它的实现部分分离,使他们都可以独立的变化// forEach函数的实现 // 可以看到, forEach函数并不关心fn里面的具体实现. fn里面的逻辑也不会被forEach函数的改写影响. forEach = function (ary, fn) { for (var i = 0, l = ary.length; i < l; i++) { var

2017-01-12 10:54:36 219

原创 设计模式之策略模式

//定义一系列的算法,把它们一个个封装起来,并且使他们可以相互替换,使得算法的变化独立于使用它的客户。var performanceA = function(){};performanceA.prototype.calculate = function(salary) { return salary * 4;};var performanceB = function(){};per

2017-01-12 10:42:31 281 1

原创 设计模式之观察者模式

//定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变的时候,所有依赖于他的对象都得到通知并自动刷新// 观察者放在闭包,页面加载就立即执行var Observer = (function(){ //消息队列私有 var _message = {}; return { //注册信息 regist:function(type,fn)

2017-01-12 09:35:49 263

原创 设计模式之装饰者模式

//动态的给对象添加一些额外的职责。就扩展功能而言,比生成子类更加灵活var decorator = function (input, fn) { //获取被装饰的对象 var input = document.getElementById(input); if(typeof input.onclick === 'function'){ //缓存原有的回调函数

2017-01-11 21:39:32 213

原创 设计模式之代理模式

//为其他对象提供一个代理以控制对这个对象的访问// 先声明美女对象var Girl = function (name) { this.name = name;};// 这是duduvar Dudu = function (girl) { this.girl = girl; this.sendGift = function (gift) { consol

2017-01-11 21:12:15 255

原创 设计模式之适配器模式

//将一个接口转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能一起工作的类可以一起工作。//下面例子体现了适配的思想 //自定义框架var A = A||{};//通过id获取元素A.g = function (id) { return document.getElementById(id);}//为元素绑定事件A.on = function (id, type

2017-01-11 20:51:47 210

原创 设计模式之外观模式

//facade模式定义了一个更高层级的接口,这个接口使得子系统更加容易使用。//在处理DOM0 DOM2的事件处理函数时候用到外观模式function addEvent(element, type, handler) { if(element.addEventListener){ element.addEventListener(type, handler, false)

2017-01-11 20:17:21 205

原创 设计模式之单例模式

//保证一个类仅有一个实例,并提供一个访问它的全局访问点// 饿汉式 new对象时必然创建一个对象var mySingleton = function () { /* 这里声明私有变量和方法 */ var privateVariable = 'something private'; function showPrivate() { console.log(pr

2017-01-11 19:52:30 201

原创 设计模式之构建者模式

//将一个复杂对象的构建与它的表示分离,使他们都可以独立变化//人 类var Human = function (param) { this.skill = param && param.skill || '保密';}Human.prototype = { getSkill: function () { return this.skill; }}/

2017-01-11 19:51:42 358

原创 设计模式之工厂方法模式

//定义一个用于创建对象的接口,让子类决定将哪一个类实例化。实际是将一个类的实例化延迟到其子类//这样父类就成为抽象类//鉴于js没有像强类型语言创建抽象类的语法,我们在 函数的原型 与 函数 中模拟抽象的父类与子类//子类,实例化在这里进行var Factory = function (type, content) { if(this instanceof Factory){

2017-01-11 18:51:09 237

原创 设计模式之简单工厂模式

通过一个工厂对象的入参决定创建某一类的对象//篮球基类var Basketball = function () { this.intro = 'basketball is from American';}Basketball.prototype = { getSize: function () { console.log('basketball is 32cm'

2017-01-11 18:44:59 181

原创 程序设计原则

1.单一职责原则(Single Responsibility Principle, SRP) 一个类只负责一项职责。或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。 问题由来:如果一个类C有两个不同的职责R1,R2,如果R1因为需求变化修改C,可能引起R2的地方产生bug。2.开闭原则(Open-Closed Principle, OCP): 一个软件实体如

2017-01-11 12:21:35 392

空空如也

空空如也

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

TA关注的人

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