1.算法
冒泡排序
var arr = [3,4,5,1,2,4,9,5,7,3]
Array.prototype.bubbleSort = function(){
var len = this.length;
for(var i=0; i<len; i++){
for(var j=i+1; j<len; j++){
if(this[i] > this[j]){
var tmp = this[i];
this[i] = this[j];
this[j] = tmp;
}
}
}
return this;
} ### 快速排序 js sort chrome 在长度小于 23 时采用的是插入排序,FF 和 Safari 采用的是归并排序,大于 23 时采用快排
var arr = [3,4,5,1,2,4,9,5,7,3]
Array.prototype.quickSort = function(){
if(this.length <= 1) return this;
var middleIndex = parseInt(this.length / 2, 10),
middle = this[middleIndex],
left = [],
right = [];
for(var i=0; i<this.length; i++){
if(i === middleIndex) continue;
if(this[i] < middle){
left.push(this[i])
}else{
right.push(this[i])
}
}
return left.quickSort().concat([middle], right.quickSort());
}
arr.quickSort()
2.正则
邮箱:/[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+/
手机号:/^1[3|4|5|7|8]\d{9}$/
中英文字符:/[a-zA-Z\u4e00-\u9fa5]/
双音节字符:/[^x00-xff]/
3.整理知识:HTTP
https://github.com/cbbfcd/whole-Python/blob/master/Http/README.mdown
IP是一种协议
不要和IP地址搞混淆了。 IP协议位于网络层,其主要作用是保证数据包能够准确的送到对方。 而要保证准确送到,主要依靠的是 IP地址 和 MAC地址
地址栏输入域名之后,网络间传输大致如下:
发送端:
- 应用层:DNS登场,根据域名解析出IP地址
- 应用层:HTTP协议出场,生成一个HTTP请求报文
- 传输层:TCP协议登场,将数据分割并通过三次握手向目标传递
- 网络层:IP协议配合TCP协议,确定目的地,然后通过路由,一边路由一边传递数据包 接收端:
- 网络层:数据送到
- 传输层:TCP协议接收传递过来的数据包,并重组数据包。
- 应用层:HTTP协议处理请求报文,生成响应报文。
- 请求的结果再反向的一样的流程传回给发送端。
URL & URI
URL 是 URI 的子集,URI 资源标识符,URI 标识的资源的范式,URL 是获取资源的方式和具体地址。
request
POST /index.html HTTP/1.1 --对应--> 请求方式、请求URI、协议版本
Host: hack.jp --对应--> 主机
Connection: keep-alive --对应--> 链接状态
Content-Type: application/json --对应--> 内容类型
Content-Length: 16 --对应--> 内容长度
...
name=tome&age=12 --对应--> 内容实体
response
HTTP/1.1 200 OK --对应-->协议版本、状态码、状态码原因短语
Date: Tue, 10 Jul 2017 10:18:55 GMT --对应-->消息报头
Content-Length: 362
Content-Type: text/html
空行
响应正文
请求方法
GET 请求指定的页面信息,并返回实体主体。
HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
PUT 从客户端向服务器传送的数据取代指定的文档的内容。
DELETE 请求服务器删除指定的页面。
CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
OPTIONS 允许客户端查看服务器的性能。
TRACE 回显服务器收到的请求,主要用于测试或诊断。
HTTP 响应状态
1XX --> 接收的请求正在处理
2XX --> 请求正常处理完毕
3XX --> 需要进行附加操作以完成请求
4XX --> 服务器无法处理请求
5XX --> 服务器处理请求出错
下周解决 wx 嵌入 web 页面调研
小程序后台配置,业务域名,将 token 放在对应访问域名的根路径上,获取到可以打开域名的权限之后,才能在小程序里打开。
小程序提供路由方法的能力,也可以从小程序中回到当前页面,如果需要获取 openId 的话需要重定向就会有问题,我猜可能是因为重定向页面没有放 token。
其他的基本上嵌入都没有什么问题,目前准备把聊天的 SDK 嵌入到小程序中尝试一下
应用到实际项目中没有任何问题