自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (2)
  • 收藏
  • 关注

翻译 立即执行函数

3.6 立即执行函数 Immediately-Invoked Function Expression (IIFE) 参考自此篇文章 现在我们定义了一个函数function foo(){}或者var foo = function(){},函数名后加上一对小括号即可完成对该函数的调用,比如下面的代码: var foo = function() { /* code */ } foo() 接着我...

2018-11-12 19:55:07 767 1

原创 如何清除浮动

清除浮动的几种方式 2.6 何为清除浮动? 在非 IE 浏览器(如 Firefox)下,当容器的高度为 auto,且容器的内容中有浮动(float 为 left 或 right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响(甚至破坏)布局的现象。这个现象叫浮动溢出,为了防止这个现象的出现而进行的 CSS 处理,就叫 CSS 清除浮动。 浮动的定义:...

2018-11-12 17:25:02 275

转载 BFC 是什么

BFC 是什么 2.5 BFC 是什么? 参考自前端精选文摘:BFC 神奇背后的原理 2.5.1 在解释 BFC 是什么之前,需要先介绍 Box、Formatting Context 的概念。 Box: CSS 布局的基本单位 Box 是 CSS 布局的对象和基本单位, 直观点来说,就是一个页面是由很多个 Box 组成的。元素的类型和 display 属性,决定了这个 Box 的类型。 不...

2018-11-12 17:22:24 333

原创 CSS选择器优先级

2.4 选择器优先级如何确定? 2.4.1 比较同一级别的个数,数量多的优先级高 important > 内联 > ID > 类 > 标签 | 伪类 | 属性选择 > 伪对象 > 通配符 > 继承 权值的大小跟选择器的类型和数量有关,样式的优先级跟样式的定义顺序有关 这也就解释了为什么 11 个标签的定义会比不上 1 个类的定义,1 个类加 11 个

2018-11-11 15:19:13 345

原创 Normalize vs Reset

2. Normalize vs Reset 2.3 css reset 和 normalize.css 有什么区别? 2.3.1 创造 normalize.css 的几个目的 保护有用的浏览器默认样式而不是完全去掉它们 一般化的样式:为大部分 HTML 元素提供 修复浏览器自身的 bug 并保证各浏览器的一致性 优化 CSS 可用性:用一些小技巧 解释代码:用注释和详细的文档来 2.3.2 N...

2018-11-11 15:00:57 282

转载 CSS实现水平居中

CSS实现水平居中 2.2 如何居中? 2.2.1 行内元素 给其父元素设置 text-align:center,即可实现行内元素水平居中。 2.2.2 块级元素 该元素设置 margin:0 auto 即可。 2.2.3 为了让包含 float:left 属性的子元素水平居中 则可让父元素宽度设置为 fit-content,并且配合 margin, 作如下设置: .parent { widt...

2018-11-11 14:44:05 423

原创 盒模型

2. CSS盒模型 2.1 说说盒模型 2.1.1 标准模型和 IE 模型的区别 W3C 标准盒模型: 属性 width,height 只包含内容content,不包含 border 和 padding。 IE 盒模型: 属性 width,height 包含 border 和 padding,指的是content+padding+border。 2.1.2 盒模型计算方式:box-sizing...

2018-11-11 14:20:59 220

原创 HTML-!DOCTYPE

1.4 HTML <!DOCTYPE> 声明 注释:<!DOCTYPE> 标签没有结束标签。 提示:<!DOCTYPE> 声明不区分大小写。 1.4.1 标签定义及使用说明 <!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。 <!DOCTYPE> 声明不是一个 HTML 标签;它是用...

2018-11-11 14:19:00 346

原创 viewport

1.2 viewport 1.2 meta viewport 是做什么用的,怎么写? viewport 指 web 页面上用户的可见区域。 1.2.1 viewport 常用属性: width:控制 viewport 的大小,你可以给它指定一个值,如:600,或者甚至还可以给它一个特殊的值,如:device-width,device-width 为设备的宽度(单位为缩放为 100% 时的 CS...

2018-11-11 14:15:55 932

原创 HTML 语义化

1. HTML 题 1.1 如何理解 HTML 语义化的? 让根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析。 1.1.1 为什么要语义化? 为了在没有 CSS 的情况下,页面也能呈现出很好地内容结构、代码结构 : 为了裸奔时好看; 用户体验:例如 title、 alt 用于解释名词或解释图片信息、 la...

2018-11-11 14:12:49 277

转载 Linux-chmod指令

1. chmod介绍 指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [–help] [–version] mode file… 说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。 2. 参数格式 mode : 权限设定字串,格式如下 : [ugoa…][[±=...

2018-11-09 17:32:54 351

原创 SOLID 五大设计原则

SOLID 五大设计原则 1. SRP 单一职责原则(The Single Responsibility Principle) 一个程序只做好一件事 如果功能过于复杂就开分开,每个部分保持独立 2. OCP 开放封闭原则(The Open Closed Principle) 对拓展开放,对修改封闭 增加需求时,拓展新代码,而非修改已有代码 软件设计的终极目标 3. LSP 里氏置换原则(T...

2018-11-09 16:00:40 1037

原创 23 种设计模式

23 种设计模式 1. 创建型 工厂模式(工厂方法模式、抽象工厂模式、建造者模式) 单例模式 原型模式 2. 结构型 适配器模式 装饰器模式 代理模式 外观模式 桥接模式 组合模式 享元模式 3. 行为型 策略模式 模板方法模式 观察者模式 迭代器模式 职责连模式 命令模式 备忘录模式 状态模式 访问者模式 中介者模式 解释器模式 ...

2018-11-09 12:51:54 244

原创 jQuery 版本购物车(融入设计模式)

jQuery 版本购物车(融入设计模式) 1. 介绍 1.1 功能 显示购物列表、加入购物车、从购物车删除 1.2 用到的设计模式 工厂模式 $('XXX'),创建商品 单例模式 购物车 装饰器模式 打点统计 观察者模式 网页事件、Promise 状态模式 添加/删除购物车 模板方法模式 init(),统一的方法渲染 代理模式 打折商品信息处理 1...

2018-11-09 12:48:33 688

原创 设计模式(不常用的几类)

设计模式 1. 创建型 1. 原型模式 概念 clone 自己,生成一个对象 应用(Object.create)//基于原型创建一个对象 var prototype = { getName: function() { return this.first + ' ' + this.last }, say: function() { console.log('hel...

2018-11-08 17:04:51 423

原创 状态模式

状态模式 1. 介绍 一个对象有状态变化 每次状态变化都会触发一个逻辑 不能总是用 if…else 来控制 2. UML 演示 3. 代码演示 class State { constructor(color) { this.color = color } handle(context) { console.log(`turn to ${this.color} l...

2018-11-05 22:11:11 264

原创 迭代器模式

迭代器模式 1. 介绍 顺序访问一个集合 使用者无需知道集合的北部结构(封装) 2. UML 演示 3. 代码演示 class Iterator { constructor(container) { this.list = container.list this.index = 0 } next() { if (this.hasNext()) { ...

2018-11-05 20:56:49 202

转载 详解浮动

详解浮动 1. 浮动元素处于什么样的流? 《CSS 权威指南》中说,浮动元素同时处于(常规)流内和流外 如何理解? 浮动元素不影响块级元素的布局(换句话说就是块级元素会当浮动元素不存在) 浮动元素会影响行内元素的布局,从而间接影响块级元素的布局 2. 浮动与定位不能一起用 如果一起使用,浮动失效、定位生效 但是浮动与相对定位可以一起使用 3. 浮动元素的摆放方式 尽量靠上 尽量靠左...

2018-11-05 17:34:45 424 1

原创 观察者模式

观察者模式 1. 介绍 发布订阅 一对一(多) 2. UML 演示 3. 代码演示 //观察者 class Observer { constructor(name, subject) { this.name = name this.subject = subject this.subject.attach(this) } update() { co...

2018-11-05 12:45:05 189

原创 外观模式

外观模式 1. 介绍 为子系统中的一组接口提供了一个高层接口,使用者使用这个高层接口 2. UML 演示 3. 代码演示 function bindEvent(elem, type, selecetor, fn) { if (fn == null) { fn = selector selector = null } //... } //调用 bindEvent(...

2018-11-04 11:23:21 230

原创 代理模式

代理模式 1. 介绍 使用者无权访问目标的对象 中间加代理,通过代理做授权和控制 2. UML 演示 3. 代码演示 class RealImg { constructor(fileName) { this.fileName = fileName this.loadFromDisk() } display() { console.log('display...

2018-11-04 11:05:11 245

原创 装饰器模式

装饰器模式 1. 介绍 为对象添加新功能 不改变其原有的结构和功能 2. UML 演示 3. 代码演示 class Circle { draw() { console.log('画圆形') } } class Decorator { constructor(circle) { this.circle = new Circle() } draw() { ...

2018-11-02 22:14:50 231

原创 适配器模式

适配器模式 1. UML 演示 2. 代码演示 // class Client { // do() { // } // } class Adaptee { specificRequest() { return '公牛插头' } } class Target { constructor() { this.adaptee = new Adaptee() }...

2018-11-02 19:31:21 193

原创 单例模式

单例模式 1. 特点 系统中被唯一使用 一个类只有一个实例 单例模式需要用到 java 的特性(private) ES6 中没有(ts 除外) 2. UML 演示 3. 代码演示 java 代码 public class SingleObject{ //私有化构造函数,外部不能有 new,只能内部 new private SingleObject(){ } //唯一被 ...

2018-11-02 14:09:56 317

原创 工厂模式

工厂模式 1. UML 描述 2. 代码演示 class Product { constructor(name) { this.name = name } init() { alert('init') } fn1() { alert('fn1') } fn2() { alert('fn2') } } class Creator ...

2018-11-02 12:33:48 377 1

翻译 Unix/Linux设计准则

Unix/Linux设计准则 看似简单。事实上,它们简单到会容易使人们忽略其重要性。这就是它们颇具欺骗性的地方。其实,简单的外表下掩盖着一个事实:如果人们能够始终如一的贯彻它们,这些准则可是非常行之有效的。 以下这份清单会让你对Unix哲学的准则有初步的认识。 小即是美。相对于同类庞然大物,小巧的事物有着其无可比拟的巨大优势。其中一点就是它们能够以独特有效的方式结合其他小事务,而且这种...

2018-11-01 14:20:54 375

原创 数据协商

数据协商 1. 客户端 Accept 声明数据类型 Accept-Encoding 声明编码方式 Accept-Language 声明返息的语言 Usrer-Agent 声明浏览器和系统信息 2. 服务端 Content-Type 返回数据格式 Content-Encoding 返回编码方式 Content-Language 返回语言 ...

2018-10-30 20:04:53 362

原创 HTTP 协议(上)

HTTP 协议(上) 1. 经典五层模型 应用层-传输层-网络层-数据链路层-物理层 1.1 后三层 物理层主要作用是定义物理设备如何传输数据 数据链路层在通信的实体间建立数据链路连接 网络层为数据在结点之间传输创建逻辑链路 1.2 传输层 向用户提供可靠的端到端(End-to-End)服务 传输层向高层屏蔽了下层数据通信的细节 1.3 应用层 为应用软件提供了很多服务 构建与 TC...

2018-10-30 17:45:00 307

原创 页面优化与安全

页面加载 题目 从输入 url 到得到 html 的详细过程 浏览器根据 DNS 服务器得到域名的 IP 地址 向这个 IP 的机器发送 HTTP 请求 服务器收到、处理并返回 HTTP 请求 浏览器得到返回内容 window.onload 和 DOMConentLoaded 的区别 window.onload 在全部资源加载完后才会执行,包括图片、视频 DOMConentLoa...

2018-10-28 15:11:37 1266

原创 模块化

模块化 避免带来全局污染 require.js 的使用 //util.js define(function() { var util = { getFormatDate: function(date, type) { if (type === 1) { return '1-1' } if (type === 2) { ...

2018-10-28 15:09:22 213

原创 JS-Web-API

JS-Web-API 常说的 JS(浏览器执行的 JS)包含两部分 JS 基础知识(ECMA262 标准) JS-Web-API(W3C 标准) W3C 标准中的关于 JS 的规定: DOM 操作 BOM 操作 事件绑定 ajax 请求(包括 http 协议) 储存 页面弹框是 window.alert(123),浏览器需要做什么? 定义一个 window 全局变量,对象类型...

2018-10-28 15:06:11 309

原创 JS 常见题目

JS 常见题目 获取 2017-06-10 格式的日期 function formatDate(dt) { if (!dt) { dt = new Date() } var year = dt.getFullYear() var month = dt.getMonth() + 1 var date = dt.getDate() if (month < 10...

2018-10-28 14:55:39 3353

原创 异步和同步

异步和同步 同步和异步的区别是什么?分别举一个同步和异步的例子 同步会阻塞代码执行,而异步不会 alert 是同步,setTimeout 是异步 一个关于 setTimeout 的笔试题 //1,3,5,2,4 console.log(1) setTimeout(function() { console.log(2) }, 0) console.log(3) setTimeout(...

2018-10-28 14:51:58 463

原创 作用域和闭包

作用域和闭包 对变量提升的理解 变量定义 函数声明(注意和函数表达式的区别) 说明 this 几种不同的使用场景 创建 10 个<a>标签,点击的时候弹出对应的序号 var i for (i = 0; i < 10; i++) { ;(function(i) { var a = document.createElement('a') a.inn...

2018-10-28 14:50:40 262

原创 原型链

原型链 如何准确判断一个变量是数组类型 var arr = []; arr instanceof Array; //true typedof arr //object , typeof无法判断是否是数组 写一个原型链继承的例子 //动物 function Animal() { this.eat = function() { console.log('animal eat')...

2018-10-28 14:44:00 213

原创 JS中的变量类型

变量 JS 中使用 typeof 能得到哪些类型 typeof undefined //undefined typeof 'abc' //string typeof 123 //number typeof true //boolean //以上四点可以看出,typeof只能区分值类型的详细类型 typeof {} //object typeof [] //object typeof null ...

2018-10-28 14:04:34 369

原创 解决问题:0.1.13版本better-scroll升级后,轮播图无法正常循环

版本0.1.15正常,升级到版本1.13.2后出现以下问题: 不能正常循环轮播 第一张图没有相应的dot,第二张图对应第一个dot,出现错位 手动轮播至第五张图片后,会出现一张黑色轮播图,无法轮播回第一张图片 查找官方文档后解决了此问题,以下为修改后的代码: this.slider = new BScroll(this.$refs.slider, { scrol...

2018-10-19 19:14:48 593

原创 分支之间的切换、提交流程

分支之间的切换、提交流程 git pull git checkout newBranch git add . git commit -m "add_sth" git push git checkout master git merge newBranch git push

2018-10-18 21:21:06 512

原创 正则表达式常用规则

正则表达式学习 1. 辅助工具及正则表达式常用规则 辅助工具:https://regexper.com/ \b表示word bounday 比如:it is a dog. His dog is nice. 使用\bis\b匹配为第一个句子里面的is http:\/\/.+\.jpg表示匹配http:此处为内容.jpg的内容 \d{4}表示匹配四个数字 [/-]表示/或者- ^、$分别表示开头...

2018-10-16 21:39:42 254

得到App产品分析报告

得到App产品分析报告,一份对得到App的分析报告文章,个人能力有限,仅供参考。

2018-10-26

空空如也

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

TA关注的人

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