自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 什么是WebStorageProxy?

大家好。今天很高兴能向大家介绍一个全新的JavaScript工具库。它的名字是 webstorage-proxy.js 。这也是我第一次开发JavaScript工具库,期间遇到不少问题,当然更多的是收获。下面由我来为大家分享下这个js库的由来和使用,以及开发过程遇到的问题和总结的经验吧。WebStorageProxy简介引入webstorage-proxy.js,window上就有了一个叫...

2019-08-01 09:04:10 1721

原创 HTML5文件操作

HTML5 中提供的文件 API 在前端中有着丰富的应用,上传、下载、读取内容等 在日常的交互中很常见。而且在各个浏览器的兼容也比较好,包括移动端,除了 IE 只支持 IE10 以上的版本。想要更好地掌握好操作文件的功能,先要熟悉每个 API。FileList 对象和 File 对象HTML 中的 input[type="file"] 标签有个 multiple 属性,允许用户选择多个文件...

2019-07-03 08:31:43 2552 1

原创 什么是npx?

npx 介绍npm 升级到 5.2.0 之后的人可能会注意到它时候发现会买一送一,自动安装了 npx。 npx,类似于 npm 简化了项目开发中的依赖安装与管理,该工具致力于提升开 发者使用包提供的命令行的体验。npx 允许我们使用本地安装的命令行工具而不 需要再定义 npm run-script,并且允许我们仅执行一次脚本而不需要再将其实际 安装到本地。npx 的使用在过去的几年中,...

2019-06-17 08:34:48 5483

原创 JavaScript异步编程解决方案

JavaScript与异步编程为了避免资源管理等复杂性的问题, javascript被设计为单线程的语言,即使有了html5 worker,也不能直接访问dom。javascript 设计之初是为浏览器设计的GUI编程语言,GUI编程的特性之一是保证UI线程一定不能阻塞,否则体验不佳,甚至界面卡死。一般安卓开发,会有一个界面线程,一个后台线程,保证界面的流畅。由于javascript是单线程,...

2019-06-14 04:13:19 599

原创 什么是前端状态管理?

近两年前端技术的发展如火如荼,大量的前端项目都在使用或转向 Vue 和 React 的阵营,由前端渲染页面的单页应用占比也越来越高,这就代表 前端工作的复杂度也在直线上升,前端页面上展示的信息越来越多也越来 越复杂。我们知道,任何状态都需要进行管理,那么今天我们来聊聊前端 状态管理。为什么需要状态管理?举个例子:图书馆的管理,原来是开放式的,所有人可以随意进出书库借书还书,如 果人数不...

2019-06-09 13:55:58 3831 2

原创 ES6之什么是class?

传统的 javascript 中只有对象,没有类的概念。它是基于原型的面向对象语言。 原型对象特点就是将自身的属性共享给新对象。这样的写法相对于其它传统面向 对象语言来讲,很有一种独树一帜的感脚!非常容易让人困惑!首先大家要明白,为什么要出现 class ?首先回顾我们的 JavaScript 编程思想的发展史。 从 JS 诞生之时,刚开始做的就是面向过程的编程,把一个问题给解释清楚了, ...

2019-05-31 10:46:19 566

原创 ES6之什么是生成器?

Generator 生成器,一个晦涩难懂的概念,生成器是什么,为什么被称为 生成器,而又什么是生成器?最最关心的问题是,为什么需要生成器,他 到底能干吗的?带着这样一个有一个的问题,来读下面的内容。什么是生成器?生成器是一个状态机,说了好像没说一样,那什么是状态机呢,为什么要 使用他呢?场景及问题背景: 我们平时开发时本质上就是对应用程序的各种状态进行切换并作出相应 处理。最直接的解决...

2019-05-31 09:49:27 350

原创 ES6之什么是Set&Map?

为什么要使用 Set,以及 Map?在说 Set,Map 之前,我们先来了解一个概念,叫做集合。Map 和 Set 的 产生原因来自于集合。那什么是集合呢?集合的定义: 计算机科学中,集合是一组可变数量的数据项(也可能是 0 个)的组合, 这些数据项可能共享某些特征,需要以某种操作方式一起进行操作。一般 来讲,这些数据项的类型是相同的,或是满足相同的条件,或者遵循相同 的规则。集合的特...

2019-05-28 23:40:53 270

原创 什么是JavaScript异步编程?

在我们的工作和学习当中,到处充满了异步的身影,到底什么是异步,什 么是异步编程,为什么要用异步编程,以及经典的异步编程有哪些,在工 作中的场景又有什么,我们一点点深入的去学习。什么是异步编程?有必要了解一下,什么是异步编程,为什么要异步编程。 先说一个概念异步与同步。介绍异步之前,回顾一下,所谓同步编程,就 是计算机一行一行按顺序依次执行代码,当前代码任务耗时执行会阻塞后 续代码的执行...

2019-05-28 23:08:57 6656 6

原创 ES6之Promise的模拟实现

/** * Promise 实现 遵循promise/A+规范 * Promise/A+规范译文: * https://malcolmyu.github.io/2015/06/12/Promises-A-Plus/#note-4 */// promise 三个状态const PENDING = "pending";const FULFILLED = "fulfilled";co...

2019-05-27 21:19:27 267

原创 ES6之什么是Promise?

为什么要使用 Promise?在我们 javaScript 大环境下,我们的编程方式更多是基于异步编程, 究竟什么是异步编程,为什么要异步编程,我们之后的文章会说。在异步 编程中使用的最多的就是回调函数,先了解一下什么是回调函数。回调函数指的是:被调用者回头调用调用者的函数,这种由调用方自己提 供的函数叫回调函数。 应用场景举例:对于数组的 filter 方法,里面实现的过滤的逻辑...

2019-05-22 15:41:42 264

原创 ES6之什么是迭代器?

迭代器是什么,为什么要有迭代器?在接触迭代器之前,回想一下我们生活中的例子。我们在乘火车或者客车 的乘务员或者售票员做的事情,我们拿客车售票员来举例,对于坐满乘客 或者要发车的客车,售票员要进行售票,他会从后到前,依次左左右右的 进行售票,当售票出现问题(上错车,没有钱等问题),售票员会暂时处 理,务必保证每一位都要买票,售完之后进行发车。刚才我们所说的售票 员售票的过程就是一个生活中...

2019-05-20 22:53:04 711

原创 什么是前端路由?

什么是路由?路由这个概念最先是后端出现的。在以前用模板引擎开发页面时,经常会 看到这样:http://hometown.xxx.edu.cn/bbs/forum.php 有时还会有带`.asp`或`.html`的路径,这就是所谓的SSR(Server Side Render), 通过服务端渲染,直接返回页面。 其响应过程是这样的 :1.浏览器发出请求2.服务器监听到 80 端...

2019-05-20 17:05:20 10158

原创 webpack.config.js

package.json{ "name": "wp", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "build": "webpack --mode production", "dev": "webpack-dev-server --open" }, ...

2019-05-14 23:16:40 742

原创 如何使用Node.js发邮件?

电子邮件是—种用电子手段提供信息交换的通信方式,是互联网应用最广的服务。通过网络的电子邮件系统,用户可以以非常低廉的价格(不管发送到哪里,都只需负担网费)、非常快速的方式(几秒钟之内可以发送到世界上任何指定的目的地),与世界上任何一个角落的网络用户联系。在很多项目中,我们都会遇到邮件注册,邮件反馈等需求。在node中收发电子邮件也非常简单,因为强大的社区有各种各样的包可以供我么直接使用。Nod...

2019-05-08 14:58:02 591

原创 什么是前端工程化?

为什么需要前端工程化?目前来说,Web 业务日益复杂化和多元化,前端开发已经由以 WebPage 模式为主转变为以 WebApp 模式为主了。现在随便找个前端项目,都已经不是过去的拼个页面+搞几个 jQuery 插件就能完成的了。如今的前端领域早已扩展到了服务端领域(Node.js),移动端领域 (Hybrid 模式 & JS To Native 模式),桌面应用,各种浏览器的 Ext...

2019-05-05 16:09:45 864

原创 前端模块化简史

对于模块化这样的话语,同学们都听过,但是你们时候真正了解,什么是 模块化,为什么要模块化,以及如何模块化?相信同学们都有以上的疑问。 对于模块化来说,他并不是一开始就存在的,而是随着 js 的能力浏览器的 能力以及业务的发展,我们也需要对于 js 有一个更好的管理模式,接下来 通过模块化发展来看一下,模块化是如何一步一步的成长到现在的。模块化的发展历程当 Brendan Eich 设计 J...

2019-05-05 15:38:27 225

原创 什么是SQL注入?

有人的地方就有江湖,有数据库存在的地方就可能存在 SQL 注入漏洞。什么是SQL 注入?SQL 注入是一种非常常见的数据库攻击手段,SQL 注入漏洞也是网络世界中最普遍的漏洞 之一。大家也许都听过某某学长通过攻击学校数据库修改自己成绩的事情,这些学长们一 般用的就是 SQL 注入方法。SQL 注入其实就是恶意用户通过在表单中填写包含 SQL 关键字的数据来使数据库执行非常 规代码的过程...

2019-05-02 19:16:46 28544 3

原创 ES6之什么是模板字符串?

我们为什么需要模板?在生活中,我们去银行签一些单子,或者生活中写一些请假条,我们都会有一个模板进行参照,哪里哪里需要怎么填写,哪里自由发挥。就是一种格式的提现。在我们前端中,这个模版又是什么样的概念呢?模板这个概念起于浏览器页面初期。这个时候的页面是怎么形成的呢?并不是大家现在所学的这个样子(html+css+js),因为那个时候还没有 js,最初期的页面都是基本的 html 构成,用于学...

2019-05-02 18:42:39 2260

原创 ES6之什么是箭头函数?

箭头函数是匿名函数,ES5匿名函数的语法糖;但又增加了ES5所没有的一些优点,接下来我们一起来看一看箭头://ES5var tt = function tt() { return 55 + 99;};//ES6var tt = () => 55 +99是不是一对比,写法的差异就看出来了。ES6增加了箭头函数:let func = value => va...

2019-05-01 17:39:16 3196 1

原创 什么是CSRF攻击?

什么是 CSRF 攻击? CSRF 概念:CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者 Session Riding,通常缩写为 CSRF 或者 XSRF,是一种对网站的恶意利 用。 尽管听起来像跨站脚本(XSS),但它与 XSS 非常不同,XSS 利用站点内的信任用户,而 CSRF 则通过伪装成受信任用户的...

2019-05-01 16:21:39 1571

原创 什么是DDoS攻击?

什么是DoS在介绍 DDoS 之前,需要先简单介绍一下什么是 DoS。DoS(拒绝服务,Denial of Service)就是利用合理的服务请求来占用过多的服务资 源,从而使合法用户无法得到服务的响应。这是早期非常基本的网络攻击方式。举一个简单的例子:小王开了一家商店,店面不大,加上小王一共有三个服务员。由于他们这里物美价廉,工 作人员的态度又比较友善,所以慢慢的生意越来越好。...

2019-04-30 16:56:07 846

原创 try-catch与多线程

对于 try-catch 这组异常处理函数,同学们可用接触的并不多,也不是很了解, 今天咱们就来说说它,但是这还没完,顺便看看 try-catch 对于多线程的处理机 制是什么样的。一说到多线程,同学们也会蒙,不都说 JavaScript 是单线程的, 这个多线程是怎么回事?别着急,接下来我们一起来探究。try-catch 函数当 JavaScript 引擎执行 JavaScript 代码...

2019-04-30 16:18:57 1805

原创 CSS基线之道

line-height 到底有多 height?行高,顾名思义指的就是一行文字的高度。按照定义来解释,就是两行文字之间基线之间的距离。那么问题来了,什么是基线呢?大家回想下我们刚开始学习汉语拼音的时候,使用四线格本子的四条线,其中倒数第二条线就是基线,如果你说,抱歉,我已经全部还给老师了,没有任何印象。呵呵,别急呢,我已经给大家准备好了,请看下面的这副图,其中,a、c、e、x、z等字母的底边线...

2019-04-29 18:58:58 711

原创 setTimeout/setInterval与requestAnimationFrame的区别?

提到 setTimeout/setInterval 以及 requestAnimationFrame,大家的第一反应是动画相关的两个 API。什么是web 动画我们来谈谈什么是动画。动画其实是一种假象,是一种不连续的运动以帧的形式呈现给我 们的东西。在二十世纪,通常人们观看的电影其实就是通过胶片记录和投影的。它是以每 秒至少 24 帧的速度形成的视觉上的运动起来的假象。NTSC 广播的标准...

2019-04-29 10:41:25 3643 1

原创 session,cookie,sessionStorage,localStorage的区别及应用场景

浏览器的缓存机制提供了可以将用户数据存储在客户端上的方式,可以利用cookie,session和WebStorage跟服务端进行数据交互。区别简单的来说,如下图:1. cookie和sessioncookie和session都是用来跟踪浏览器用户身份的会话方式。区别:1、保持状态cookie保存在浏览器端 session保存在服务器端2、使用方式cookie...

2019-04-18 18:23:50 187

原创 什么是XSS攻击?

网络千万条,安全第一条。网安不规范,网站都完蛋! 前端工程师接触最多的漏洞我想就是 XSS 漏洞了,然鹅并不是所有的同学对其都有一个清晰的认识。这篇文章将带领大家认清XSS攻击,以及对于XSS攻击该如何防范。什么是XSS攻击?XSS攻击指的是:通过利用网页开发时留下的漏洞,恶意攻击者往Web页面里插入恶意 Script代码,当用户浏览时,嵌入其中Web里面的Script代码会被执...

2019-04-18 16:51:30 15189 5

原创 彻底看懂flxe布局

1 基本概念css3最喜欢的新属性之一便是flex布局属性,用六个字概括便是简单、方便、快速。flex( flexible box:弹性布局盒模型),是2009年w3c提出的一种可以简洁、快速弹性布局的属性。主要思想是给予容器控制内部元素高度和宽度的能力。下图为flex的相关概念的示意图:使用flex布局的容器(flex container),它内部的元素自动成为flex项目(fl...

2019-04-06 19:05:50 1013

原创 从输入URL到页面成功展示到浏览器的过程?

主干流程梳理:知识体系中,最重要的是骨架,脉络。有了骨架后,才方便填充细节。所以,先梳理下主干流程:从浏览器接收到url到开启网络请求线程(这一部分涉及浏览器的机制以及进程与线程之间的关系) 从开启网络线程到发出一个完整的http请求(这一部分涉及到dns查询,tcp/ip请求,五层因特网协议栈等知识) 从服务器接收到请求到对应后台接收到请求(这一部分可能涉及到负载均衡,安全拦截以及...

2019-04-04 21:39:24 3032

C语言学习大纲

自学时整理的C语言学习大纲,当时是一边看视频一边码大纲,只是把学到的东西写上了,如果有错误或者不完善的地方,还请谅解!

2018-01-02

空空如也

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

TA关注的人

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