钩子模式 问题场景 如何控制抽象类的行为?解决办法是靠钩子!抽象类公布一个虚方法,由子类自行决定是否重写它,抽象类以钩子做判定,如果返回真则执行某个方法,否则不执行。为什么钩子不能是抽象的,因为如果钩子是抽象的,那么子类都必须重写它,有些子类并不想重写它,所以钩子最好定义成虚的。 总结模式 抽象类中 ...
rem是相对于根元素<html>,所以只需要在根元素确定一个px字号,就可以算出元素的宽高 假设rem的html font-size用16px。 750px的设计图以375px量长宽,例如设计图里有元素宽度是100px,那么得到宽度会是 100px/2/16px = 3.125rem。 为了能在ap ...
分类:
其他好文 时间:
2018-03-18 21:40:54
阅读次数:
273
WebSocket是基于TCP的长连接通信协议,服务端可以主动向前端传递数据,相比比AJAX轮询服务器,WebSocket采用监听的方式,减轻了服务器压力 本文作为学习websocket的练习,实现在线聊天的功能 ...
分类:
Web程序 时间:
2018-03-18 20:11:45
阅读次数:
275
前言 我们使用SQL查询不能只使用很简单、最基础的SELECT语句查询。如果想从多个表查询比较复杂的信息,就会使用高级查询实现。 常见的高级查询包括多表连接查询、内连接查询、外连接查询与组合查询等,今天我们先来学习最常用、面试也很容易被问到的连接查询。 我们今天以一个简单的学生信息表(学生ID、学生 ...
分类:
数据库 时间:
2018-03-18 20:04:24
阅读次数:
304
1 :x=>x*xfunction (x){ return x*x}2: x=>{ if(x>0){ return 1; }else{ return 0; }}function (x){ if(x>0){ return 1; }else{ return 0; }}3: (x,y)=>x+yfunct... ...
分类:
其他好文 时间:
2018-03-18 17:13:26
阅读次数:
98
1.首先需要获取code 使用 获取到code以后,将code发送给自己的后台 便可以获取到openid了 ...
分类:
微信 时间:
2018-03-18 13:54:18
阅读次数:
365
引子:函数加括号代表调用该函数,而不加括号代表函数本身(函数名) 例如: 高阶函数定义: 变量可以指向函数,函数的参数能接收变量,那么一个函数可以接收另一个函数作为参数,这种函数就叫做高阶函数 函数名其实也是变量,如果给函数名赋值,那在后面就无法调用该函数,所以绝对不能这么干 总结: 只需要满足以下 ...
分类:
编程语言 时间:
2018-03-18 13:53:19
阅读次数:
166
正则表达式 分两类: 基本正则表达式:BRE 扩展正则表达式:ERE ;grep -E, egrep 正则表达式引擎: 采用不同算法,检查处理正则表达式的软件模块 PCRE(Perl Compatible Regular Expressions 基本正则表达式的元字符 正则表达式的匹配次数 正则表达 ...
分类:
系统相关 时间:
2018-03-18 13:10:50
阅读次数:
281
WEB浏览器是从上到下加载资源的 1.概念相关 1.js: 基于对象和事件驱动的脚本语言 2.特点(交互性 安全性【不准读取和操作硬盘的文件】跨平台性) 3.弱类型语言 4.由ECMAScript(核心) DOM(文档对象模型) BOM(浏览器对象模型)组成 5.区分大小写 6.JavaScript ...
分类:
其他好文 时间:
2018-03-18 10:30:00
阅读次数:
209
你肯定遇见过这样类似的代码: 过多的if else在代码的阅读和拓展时,会变得相当的困难. 所以运用职责链模式进行分解 职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象练成一条链,并沿着这条链传递该请求, ...
分类:
其他好文 时间:
2018-03-18 10:25:37
阅读次数:
285