自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 升级打怪-ES6标准入门-第二章

2 let和const命令2.1 let命令2.1.1 基本用法用法类似于var,但所声明的变量只在let命令所在的代码块内有效2.1.2 不存在变量提升var命令会发生变量提升的现象,即可以在声明之前使用,值为undefined.按照一般逻辑,变量应该在声明语句之后才可以使用,let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则便会报错.//var的情况console.log(foo);//输出undefinedvar foo=2;//let的情况console.

2021-01-10 14:18:10 197

原创 升级打怪-图解HTTP(第八章)

8 确认访问用户身份的认证8.1何为认证定义弄清楚是谁在访问服务器认证方式BASIC认证(基本认证)DIGEST认证(摘要认证)SSL客户端认证FormBase认证(基于表单认证)8.2 BASIC认证认证步骤步骤一:当请求的资源需要BASIC认证时,服务器会随状态码401Authorization Requires,返回带WWW-Authenticate首部字段的响应.步骤二:接收到状态码401的客户端为了通过BASIC认证,需要将用户ID及密码发送给服务器.发送的字符串内

2021-01-08 13:12:22 253

原创 升级打怪-精读javascript高级程序设计(第十四章)

14 表单脚本14.1 表单的基础知识表单是由form元素来表示的,而js中,表单对应的则是HTMLFormElement类型(继承HTMLElement),私有属性和方法:acceptCharset:服务器能够处理的字符集action:接收的URL;elements:表单中所有控件的集合enctype:请求的编码类型length:表单控件中的数量method:要发送的HTTP请求类型name:表单的名称reset():将所有表单域重置为默认值submit():提交表单tartge

2020-12-26 17:35:08 238

原创 升级打怪-精读javascript高级程序设计(第十二章)

12 DOM2和DOM312.1 DOM变化12.2 样式12.3 遍历12.4 范围12.5 小结

2020-12-22 11:17:36 185

原创 升级打怪-精读html5权威指南-第一章

1 web时代的变迁1.1 迎接新的web时代1.1.1 HTML5时代即将来临2010年HTML5正式推出,他就以一种惊人的速度被迅速推广着,微软也因此为下一代IE9做了标准上的改进,使其能够支持HTML5.1.1.2 HTML5的目标能够创建更简单的web程序,书写出更简洁的HTML代码.1.1.3 HTML5的小版本更新2016年11月,W3C推出html5.1版本,增加组合标签2017年12月14日,W3C推出html5.2版本,启用html插件系统,提供es6支持1.2 HT

2020-12-16 21:55:49 84

原创 升级打怪-精读css权威指南(第十一章)

11 定位11.1 基本概念11.2 偏移属性11.3 宽度和高度11.4 内容溢出和裁剪11.5 元素的可见性11.6 绝对定位11.7 固定定位11.8 相对定位11.9 粘滞定位11.10 小结

2020-12-16 19:03:22 224

原创 升级打怪-精读javascript高级程序设计(第十一章)

11 DOM拓展11.1 选择符API11.1.1

2020-12-16 16:05:13 158

原创 升级打怪-精读css权威指南(第十章)

10 浮动及其形状10.1 浮动10.2 清除浮动10.3 浮动形状10.4 小结

2020-12-14 14:42:35 92

原创 升级打怪-图解HTTP(第七章)

7 确保Web安全的HTTPS7.1 HTTP缺点7.1.1通信使用明文(不加密),内容可能会被窃听TCP/IP协议族的工作机制,通信内容在所有的通信线路上都有可能遭到窥视,例如:抓包工具或嗅探器7.1.2 不验证通信方的身份,因此有可能遭遇伪装无法确定请求发送至目标的web服务器是否按真实意图返回响应的那台服务器.有可能是已伪装的web服务器无法确定响应返回到的客户端是否按真实意图接收响应的那个客户端.有可能是已伪装的客户端无法确定正在通信的对方是否具备访问权限.因为某些web服务器上保存

2020-12-12 20:21:07 173

原创 升级打怪-精度图解HTTP(第六章)

HTTP首部

2020-12-10 14:23:09 963

原创 升级打怪-精读javascript高级程序设计(第十章)

DOM

2020-12-09 21:50:48 174

原创 升级打怪-精读图解HTTP(第五章)

与HTTP协助的web服务器

2020-12-02 11:25:35 128

原创 升级打怪-精读javascript高级程序设计(BOM篇复盘)

BOM客户端检测

2020-11-26 14:52:18 83

原创 升级打怪-精读图解HTTP(第四章)

返回结果的HTTP状态码状态码类型100~199的状态码是HTTP/1.1向协议中引入了信息性状态码,接收的请求正在处理;200~299的状态码表示成功;300~399的状态码指资源重定向;400~499的状态码指客户端请求出错;500~599的状态码指服务端出错;常见状态码说明状态码状态码描述简要说明200OK客服端请求成功,信息在返回的响应报文201created请求已经被实现,而且有一个新的资源已经依据请求的需要而创建,且URI已经随Locati

2020-11-26 13:04:53 116

原创 升级打怪-精读javascript高级程序设计(第九章)

BOMwindow对象

2020-11-24 17:50:03 166 2

原创 升级打怪-精读图解HTTP(第三章)

HTTP报文内的HTTP信息

2020-11-23 16:57:37 130

原创 升级打怪-精读javascript高级程序设计(第八章)

BOMwindow对象Window 对象是 JavaScript 层级中的顶层对象。Window 对象代表一个浏览器窗口或一个框架。框架window框架集合集合描述iframes存放Window 对象在窗口中框架或 的集合,window对象属性属性描述closed返回窗口是否已被关闭defaultstatus设置或返回窗口状态栏中的默认文本document对 Document 对象的只读引用,参阅Documenthis

2020-11-15 16:35:40 168

原创 升级打怪-精读图解HTTP(第二章)

简单的HTTP协议HTTP协议用于客户端和服务器端之间通信通过请求和响应的交换达成通信HTTP是不保存状态的协议请求URI定位资源告知服务器意图的http方法使用方法下达命令持久连接节省通信量使用Cookie的状态管理HTTP协议用于客户端和服务器端之间通信客户端:请求访问文本或图像等资源的一端服务端:提供资源相应的一端通过请求和响应的交换达成通信...

2020-11-11 13:41:36 608

原创 Wireshark使用 for mac

问题一The capture session could not be initiated on interface ‘en0’ (You don’t have permission to capture on that device).解决方案:打开Terminal,执行命令:sudo chmod 777 /dev/bpf* 问题二无法抓取localhost或127.0.0.1的数据包...

2020-11-09 22:24:58 225

原创 升级打怪-精读javascript高级程序-(ECMAScript篇复盘)

总结

2020-11-09 14:41:22 101

原创 升级打怪-精读图解HTTP(第一章)

图解HTTP

2020-11-04 15:15:27 130

原创 Wireshark调试TCP三次握手流程

wireshark基本介绍和TCP三次握手wireshark窗口介绍(mac)wireshark显示过滤过滤表达式规则协议过滤,比如TCP,只显示TCP协议IP过滤,比如ip.src==192.168.1.102端口过滤,tcp.port==80,端口为80http模式过滤,http.request.method==“GET”,只显示HTTP GET方法逻辑的过滤表达式,AND/OR封包列表封包列表显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息封包详细信息

2020-11-04 14:28:39 523

原创 升级打怪-精读javascript高级程序设计(第七章)

函数表达式函数表达式的特征使用函数实现递归使用闭包定义私有变量

2020-11-02 22:53:00 238

原创 升级打怪-精读javascript高级程序设计(第六章)

面向对象的程序设计理解对象

2020-10-30 13:26:28 148 1

原创 升级打怪-精读javascript高级程序设计(第五章)

引用类型Object类型Array类型Date类型RegExp类型Function类型基本包装类型单体内置对象Object类型

2020-10-25 23:12:09 254

原创 升级打怪-精读javascript高级程序设计(第四章)

变量,作用域和内存问题理解基本类型和引用类型的值理解执行环境理解垃圾收集基本类型和引用类型的值动态属性定义基本类型和引用类型的方式类似操作基本类型和引用类型的方式不同基本类型,无法动态添加属性var name=“tom”;name.age=27;console.log(name.age);//undefined引用类型值可以动态添加属性var person = new Object();person.name="tom";console.log(person.n

2020-10-21 22:32:03 113

原创 升级打怪-精读javascript高级程序设计(第三章)

基本概念语法关键字和保留字变量数据类型操作符语句函数语法区分大小写ECMAScript中的一切(变量,函数名和操作符)都是区分大小写var demo="123"var Demo="456"//区分大小写console.log(demo);console.log(Demo);标识符定义:变量,函数,属性的名字,或者函数的参数。格式规则:第一个字符必须是一个字母,下划线(_)或者一个美元号($)其他字符可以是字母,下划线,美元符号或数字不推荐使用ASCII或Un

2020-10-21 00:55:29 224 4

原创 升级打怪-精读javascript高级程序设计(第二章)

在HTML中使用JavaScriptscript元素属性asyncasync的设置,会使得script脚本异步的加载并在允许的情况下执行async的执行,并不会按着script在页面中的顺序来执行,而是谁先加载完谁执行。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=dev

2020-10-18 02:30:34 136 2

原创 手写一个Redux简易版(一)

前言好像React技术中,最难理解的好像是Redux,为了让自己对Redux理解比较深刻一点,就写了这一篇文章,用来揭开Redux神秘的面纱。需要实现功能createStoresubscribedispatchgetStatereplaceReduceractionreducercombineReducersapplyMiddlewarebindActionCreators具体流程先抛一个问题:如何监听一个数据变化,并且可以通知所有的依赖碰到这个问题是不是想到o

2020-10-17 20:29:41 360

原创 升级打怪-精读javascript高级程序设计(第一章)

第一章背景为了完成简单的表单验证,避免频繁的与服务器交换数据。创作历程1995年2月,Netspece公司的布兰登·艾奇,开发LiveScript,后改名JavaScript1.0随后发布JavaScript1.11997年,以JavaScript1.1为蓝本组件TC39,发布ECMA-2621998年,ISO/IEC采用ECMScript作为标准(即ISO/IEC-16262)整体内容核心(ECMAScript)文档对象模型(DOM)浏览器对象模型(BOM)ECMScrip

2020-10-16 13:18:59 140 2

原创 webpack-dev-server启动报错Error: Cannot find module ‘webpack-cli/bin/config-yargs‘

异常场景异常原因由于webpack-cli版本4,删除了webpack-cli/bin/config-yargs文件,看图bin目录下没有config-yargs.js解决方案图上显示我们要下载webpack-cli版本3的依赖,流程如下:1.卸载webpack-clinpm uninstall webpack-cli 2.安装webpack-cli版本3npm install webpack-cli [email protected] -S打完收工...

2020-10-14 15:30:35 1903 5

原创 手写一个react-router-dom简易版(二)

接上面的一篇《手写一个react-router-dom简易版(二)》HashRouter

2020-10-14 11:10:10 106 1

原创 手写一个react-router-dom简易版(一)

背景自从接触处前端路由以来,一直想对前端路由深入理解,由于只会在项目中使用,无法深入其原理,遇到一些疑难问题容易只知其一不知其二,所以本文主要从零到一实现一个简易react-router-dom(纯底层实现)路由原理后端路由路由这个概念最先是后端出现的。响应的过程:浏览器发出请求服务器监听到80端口(或443)有请求过来,并解析url路径根据服务器的路由配置,返回相应信息(可以是 html 字串,也可以是 json 数据,图片等)浏览器根据数据包的Content-Type来决定如何解

2020-10-12 21:31:17 220 1

原创 git push出现remote:Permission to 账号1 denied to 账号2的异常

异常现象原因分析对A用户的许可不允许给B,很明显可以看出你上传用的github账户与你要上传到github的账户不匹配(即上传的用户没有上传权限),这是为什么呢?如果你每次提交都需要用户名和密码验证,则不会出现这种异常,但是如果你第一次生成用户凭证,以后提交远程都会带着这个凭证提交代码,由于你切换了github账号,上次的凭证未删除,则造成这种异常解决方案mac第一步:打开钥匙串。如下图所示第二步:在搜索框输入 github。如下图所示第三步:删除到一条不剩为止,这样接下来再访问 git

2020-10-10 11:22:17 596

原创 Promise源码解读(二)-手写promise剩余方法实现

// 判断变量否为function const isFunction = variable => typeof variable === 'function' // 定义Promise的三种状态常量 const PENDING = 'PENDING' const FULFILLED = 'FULFILLED' const REJECTED = 'REJECTED'​ class MyPromise { constructor (handle) { if (

2020-10-09 17:14:47 209

原创 Promise源码解读(一)-手写一个promise

一个 Promise有以下几种状态:pending: 初始状态,既不是成功,也不是失败状态。fulfilled: 意味着操作成功完成。rejected: 意味着操作失败。我们先实现下面这种效果:new MyPromise(function(resolve,reject){ resolve(123)}).then((v)=>{ console.log(v);//123});MyPromise类class MyPromise(){ static PNEDING='pend

2020-09-30 12:56:41 185

原创 ajax 详解(一)

ajax 详解手写 ajaxvar ajax = new XMLHttpRequest();ajax.addListener("load", function() { console.log(this.response);});ajax.open("Get", "http://www.example.org/example.txt");ajax.send(null);请求类型生成的请求可以有两种方式来获取数据,异步模式或同步模式//同步var ajax = new XMLHttp.

2020-09-30 11:16:39 42

原创 gitignore 不起作用的解决办法

问题:现在项目的根目录放了 .gitignore 文件,并且git远程仓库的项目根目录已经有了 logs文件夹。由于每次本地运行项目,都会生成新的log文件,但是我并不想提交logs文件夹里面的内容,所以要在.gitignore写logs的规则。我尝试过添加以下规则logs/*.loglogs//logs/但是运行git status的时候,始终能看到modified:logs/xx...

2019-05-14 17:06:15 225

原创 js处理excl文件转化成json

如何将选择的文件转为json数据1.将 xlsx.full.min.js 导入到页面中;2.然后通过 FileReader 对象读取文件利用 js-xlsx 转成 json 数据将得到的json数据渲染到页面上代码实例如下:&lt;!DOCTYPE html&gt;&lt;html&gt; &lt;head&gt; &lt;meta charset="UTF-8...

2019-02-19 13:31:26 540

原创 大数据如何在前端流畅展示

如果要在前端呈现大量的数据,一般的策略就是分页。前端要呈现百万数据,这个需求是很少见的,但是展示千条稍微复杂点的数据,这种需求还是比较常见,只要内存够,javascript 肯定是吃得消的,计算几千上万条数据,js 效率根本不在话下,但是 DOM 的渲染浏览器扛不住,CPU 稍微搓点的电脑必然会卡爆。策略:显示三屏数据,其他的移除 DOM。一、 策略下面是我简单勾画的一个草图,我们把一串数据...

2019-01-22 21:36:56 10717 1

空空如也

空空如也

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

TA关注的人

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