自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DreamFive

共勉

原创 简单介绍几种前端跨域解决方案
原力计划

什么是跨域? 简单来说,就是一个域下的文档或脚本试图去访问另一个域下的资源,这是广义的跨域。 什么是同源策略? 同源策略/SOP(same origin policy)是一种约定。他是浏览器最基本也是最核心的安全功能,如果缺少了同源策略,浏览器将会遭受XSS等攻击,所谓的同源策略就是协议、域名、端...

2020-05-19 23:15:38 18 0

原创 深入理解 JS 中的变量提升

1、JS 的预解析机制 讲变量提升之前,我们先来了解一下 JS 的预解析机制。 JS 的解析和执行 JS 的解析过程分为两个阶段:预编译期(预处理,预解析,预编译)和执行期。 简单来说,所谓的 预解析 就是:在当前作用域内(请注意,当前作用域有可能是全局作用域,也有可能是当前函数的局部作用域),J...

2020-05-19 01:04:15 15 0

原创 二、MongoDB的管理工具,Database Master 百度网盘资源下载

直接贴链接 链接:https://pan.baidu.com/s/1uWrzZXfhE5SSNzthXMwANw 提取码:8sln

2020-04-27 11:15:48 51 0

原创 一、mongoDB window64 百度网盘资源下载,及安装教程

最新在学习 Node.js,涉及 mongoDB 安装包下载时,csdn 上各种下载资源都需要积分,本身学习就不容易,下载个资源还有阻碍。自己这里附上免费资源,mongo 当前最新版本(2020年4月27日下载): 链接:mongodb-win32-x86_64-2012plus-4.2.6-si...

2020-04-27 10:48:49 262 1

原创 setTimeout、setInterval 和 requestAnimationFrame 之间的区别

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数...

2020-04-20 15:54:59 64 0

原创 第八节、JavaScript 设计模式——发布-订阅模式

定义:发布-订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖他的对象都将得到通知。 实现发布-订阅的步骤: 首先要指定好谁充当发布者 然后发布者添加一个缓存列表,用于存放回调函数以便通知订阅者 最后发布消息时,发布者会遍历这个缓存列表,依次触发里面...

2019-12-12 23:11:37 24 0

原创 第七节、JavaScript 设计模式——迭代器模式

定义:迭代器模式是指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。 在 JavaScript 中,像 Array.prototype.forEach等都是其内置的迭代器实现。 迭代器类型 内部迭代器 let each = (arr,callback)=>{ ...

2019-12-10 23:10:17 18 0

原创 第六节、JavaScript 设计模式——代理模式

定义:代理模式是为一个对象提供一个代用品或占位符,以便控制对它的访问。 举个例子来说明吧。 小明遇到了他的百分百女孩,暂且把他的女神称呼为 A,小明决定给A送一束花表白。刚好小明和A有一个共同的朋友B,于是内向的小明决定让B来代替自己完成送花这件事。 let Flower = function()...

2019-12-09 23:31:05 30 0

原创 第五节、JavaScript 设计模式——策略模式

定义:定义一系列的算法,把它们一个个封装起来,并且使他们能互相替换。 策略模式有着广泛的应用,举一个计算年终奖金的例子,年终奖的计算方式会根据工资基数和年底绩效考核来计算的。 let strategies = { "S":(salary)=>{ return sal...

2019-12-08 00:19:52 23 0

原创 第四节、JavaScript 设计模式——单例模式

定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 实现一个单例模式。 // 实现单例模式无非是用一个变量来标志当前是否为某个类创建过对象,如果是,则下次获取该类时直接返回之前创建的对象 var Singleton = (name)=>{ this.name = name }; S...

2019-12-07 00:12:47 21 0

原创 第三节、JavaScript 设计模式——闭包和高阶函数

这一节同上一节一样,都是为后续学习打基础的内容。对此非常了解的可以跳过。 一、闭包 闭包是什么? 闭包就是有权访问其他函数作用域内变量的函数。 闭包的作用 通过闭包可以访问局部变量 可以让局部变量的值始终保持在内存中(因此要注意不能滥用闭包) 可以暂存数据,给变量开辟私密空间,避免外部污染。 ...

2019-12-05 00:12:02 26 0

原创 第二节、JavaScript 设计模式——this、call 和 apply

这一节不涉及具体设计模式,只是针对我们后续的学习做一个铺垫,如果是对这三者很了解的话请跳过此节。 JavaScript 的 this 总是指向一个对象,具体指向哪个对象在运行时基于函数的执行环境动态绑定的,而非函数声明时的环境。 除去不常用的 with 和 eval 的情况,this 的指向大致分...

2019-12-03 23:14:19 26 0

原创 第一节、JavaScript 设计模式——原型模式

前言:刚开始学习这部分内容时,只学了 1/5 就放弃了,当时感觉实际开发中没有太大用处。随着之后学习 Vue 和 React 时,发现设计原理与底层实现方式涉及到发布-订阅者模式(观察者模式),学习起来费了一番功夫,这才意识到掌握 JavaScript 设计模式与开发实践是多么重要的一件事情。 好...

2019-12-02 22:57:57 26 0

原创 JavaScript 数据结构与算法十大经典排序算法-快速排序(六)

优点:快速排序的特点就是快,而且效率高。 缺点:需要另外声明俩个数组,浪费了内存空间 原理 先找到一个基准点(一般在数组的中部),然后把基准点从数组中取出,数组剩余元素依次与该基准点做对比,如果比它小,放左边,反之,放右边 左右分别用一个空数组去存储比较后的元素 最后递归上述操作,直到数组长度 ...

2019-08-21 13:40:56 46 0

原创 JavaScript 数据结构与算法十大经典排序算法-归并排序(五)

原理 归并排序,是先把数组从中间分成两部分,然后对前后两部分分别排序,再将排序好的连部分合并在一起。 核心思想是将两个有序的数列合并成一个大的有序序列。通过递归,层层合并,即为归并 ...

2019-08-21 10:32:28 16 0

原创 JavaScript 数据结构与算法十大经典排序算法-选择排序(四)

原理 选择排序实现思路有点类似插入排序,也分排序区间和为排序区间。选择排序每次会从未排序区间中找到最小(最大)的元素,将其放到已排序的末尾 步骤 首先在未排序的序列中找到最小(最大)元素,存放到排序序列的起始位置(也是末尾,因为是第一次) 再从剩余未排序元素中继续寻找最小(最大)元素,然后放到已...

2019-08-08 11:14:36 20 0

原创 JavaScript 数据结构与算法十大经典排序算法-希尔排序(三)

一、希尔排序 希尔排序其实也是插入排序的一种,也叫缩小增量排序。 原理 先将整个待排序的记录序列分割成若干子序列 分别进行直接插入排序 待整个序列中的记录基本有序时,在对全体记录进行一次直接插入排序 简单来说,就是按一定的间隔对数列进行分组,然后在每一个分组中做直接插入排序,随后逐次缩小间隔,...

2019-08-07 17:20:27 33 0

原创 JavaScript 数据结构与算法十大经典排序算法-插入排序(二)

插入排序分为 直接插入排序 和优化后的 折半插入排序 与 希尔排序,通常所说的是直接插入排序。 一、直接插入 原理 通过构建有序序列,对于未排序的数据,在已排序序列中从后向前扫描,找到相应位置并插入。 步骤 从第一个元素开始,该元素认为是已经被排过序的 取出下一个元素,在已排序的元素序列中从后向...

2019-08-05 23:49:40 24 0

原创 JavaScript 数据结构与算法十大经典排序算法-冒泡排序(一)

实现原理 简单来说就是实现的思想 冒泡排序只会操作相邻的两个数据 每次冒泡操作都会对相邻两个元素进行比较,看是否满足大小关系要求。如果不满足就让他俩互换 一次冒泡会让至少一个元素移动到它应该再度位置,重复 n 次,就完成了 n 个数据的排序工作 特点 优点:排序算法的基础,简单使用易于理解 ...

2019-08-02 18:18:25 45 0

转载 flex布局介绍

Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。 任何一个容器都可以指定为 Flex 布局。 .box{ display: flex; } 行内元素也可以使用 Flex 布局。 .box{ display: inlin...

2019-07-30 16:11:33 39 0

原创 第01节、NodeJs简介和特点

简介 简单的说 Node.js 就是运行在服务端的 JavaScript,是一个能让JavaSript运行在服务器端的开发平台 Node.js 不是一门语言,与PHP、JSP、Pythen、Perl、Ruby的“既是语言,也是平台”不同,Node.js 的使用 JavaScript 进行编程,运行...

2019-04-14 22:22:05 86 0

原创 第 02节、掌握 Vuex 的五个核心概念

Vue 应用的核心就是 store (仓库)。它包含着你应用种的大部分状态(state)。Vuex 和单纯的全局对象有两点不同: Vuex 的状态存是响应式的,当 Vue 组件从 store 中读取的**状态(state)**发生改变时,组件也会也会得到更新 不能直接改变 store 中的 st...

2019-03-12 17:56:30 149 0

原创 CSS3 ---2D/3D、过渡、动画

212

2018-11-06 16:00:00 454 0

原创 HTTP 简略整理--3、HTTP Cookie

HTTP Cookie 是服务器发送到用户浏览器并保存在本地的一小块数据,他会在浏览器下次向同一服务器发起请求时被携带并发送到服务器上。 Cookie 主要用于以下三个方面: 会话状态管理(如用户登录状态、购物车、游戏分数或其他需要记录的信息) 个性化设置(如用户自定义设置/主题等) 浏览器行为...

2018-10-12 11:40:23 215 0

原创 HTTP 简略整理--2、HTTP缓存

缓存是一种保存资源副本并在下次请求时直接使用该副本的技术。当 web 缓存发现请求的资源已经被存储,它会拦截请求,返回该资源的拷贝,而不会去源服务器重新下载。这样带来的好处有:缓解服务器端压力,提升性能(获取资源的耗时更短了)。对于网站来说,缓存是达到高性能的重要组成部分。缓存需要合理配置,因为并...

2018-10-12 09:59:12 78 0

原创 HTTP 简略整理 ------1、HTTP 概述

HTTP 是超文本传输协议,用于传输诸如 HTML 的超媒体文档的协议。 基于 HTTP 的组件系统 HTTP是一个client-server(客户端-服务器)协议:请求通过一个实体被发出,实体也就是用户代理。 简单来说就是三个; 客户端:user-agent Web服务端 代理(Proxies...

2018-10-10 15:36:05 120 0

转载 移动端 H5 --页面适配(二)

一、基础概念 在了解如何做H5页面适配前,大家都应该把移动端涉及的一些概念搞明白,比如:dpr 是什么意思? 移动端H5解惑-概念术语(一) 二、为什么要做页面适配 2.1 PC端为什么要解决浏览器兼容 因为在PC端,由于浏览器种类太多啦,比如几个常用的:IE、火狐、...

2018-08-15 10:14:29 17421 1

转载 移动端 H5 概念术语(一)

物理像素(physical pixel) 也叫做:设备像素(device pixel) 可以理解为屏幕上的点,这个是跟硬件有关系,跟 Web 软件语言没一毛钱关系。 你见过霓虹灯吗?LED灯?对!就是那上面一个个会发光的颗粒。 这个概念大家一般喊中文,貌似没见过缩写(当然你可以叫它...

2018-08-13 10:50:50 4503 0

原创 第04节、接口--TypeScript

TypeScrip 的核心原则之一是对值所具有的的结构进行类型检查。在 TypeScript 中,接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约。 接口初探 下面通过一个简单示例来观察接口是如何工作的: function printLabel(labelledobj: ...

2018-08-11 01:24:28 110 0

原创 第03节、变量声明--typeScript

学过 ES6,都知道两个声明方式:let 和 const。 因为时讲到 TypeScript 。这里还是要着重讲一下这两个变量声明。 let 声明 let 声明和我们常用的 var 声明很相似,当然也有一些不同。 let 声明变量只在块级作用域起作用,适合在for循环使用。也不会出现...

2018-08-06 21:47:13 83 0

原创 css--打印

CSS 打印 简介 本文主要讲解如何使用 CSS 控制打印样式。 基本概念 使用 CSS 可以控制文档如何正确的显示在不同的媒介 (Media) 上。其中分页媒介 (Paged Media) ,不同于连续媒介 (Continuous Media),它可以控制文档内容,将其分隔至...

2018-08-06 11:45:32 523 0

原创 第03节、基础类型

基础类型 TypeScript 可以定义数据的类型:数字、字符串 结构体、布尔值等,还提供了实用的枚举类型方便我们使用。 数据类型声明的方法 let 声明对象:数据类型 = 对象的值; 布尔值 let isDone: boolean = false; 数字 除了支持...

2018-08-05 22:49:39 76 0

原创 第01节、WEEX是什么?

因为自己一直使用的是 Vue 。关于移动端原生应用开发,曾今想过学习一下 React Native。但是因为工作的原因,被搁置了。所以无论怎样关于移动端原生应用开发先掌握一个总是好的,虽然相比起来肯定是RN要好一些,但是学习成本也要高一些,说不定随着使用人数的增多,WEEX 以后也会越来越好。 ...

2018-07-23 23:45:26 1146 0

原创 第02节、TypeScript 开发环境的安装

学习前提:编辑器使用Visual Studio Code,这个自行到网上下载。 1.安装Node.js 安装Node.js非常简单,只要到Node官网下载一个最新版本就可以了:https://nodejs.org/zh-cn/.在windows上的安装方法和安装QQ一样。我这里就不重复描述了。...

2018-07-22 21:24:32 166 0

原创 第01节、什么是TypeScript?

目录 TypeScript是什么? TypeScript和JavaScript的对比 目录 TypeScript是什么? TypeScript 是一种由微软开发的自由和开源的编程语言。它是 JavaScript 的一个超集,TypeScript 在 JavaScr...

2018-07-22 18:39:49 107 0

原创 vue 自定义指令前端功能(按钮)权限控制

在用户登陆后,根据用户id读取用户的所有权限数据,放入本地的sessionStorage进行存储(这里我是拿到权限按钮按钮的标识,英文名称。把他们合成一个字符串存储在 btnPowerString 中。),之后,定义指令,如果用户含有此按钮权限,则在页面显示出来: /**权限指令**/ Vue...

2018-05-30 15:53:29 2964 0

原创 JavaScript权威指南(第6版)(中文版).pdf

pdf 电子版书籍, 百度云盘:JavaScript权威指南(第6版)(中文版) 提取密码:3yg4

2018-05-30 15:35:09 35136 61

原创 每日一题(6)

iframe有哪些缺点? iframe 会阻塞主页面的onload 事件 搜索引擎的检索程序无法解读这种页面,不利于SEO iframe 和主页面共享连接池,而浏览器对相同域的链接有限制,所以会影响页面的并行加载 使用iframe 之前需要考虑这两个缺点。如果需要使用iframe,最好通过ja...

2018-05-22 09:30:09 99 0

原创 每日一题(5)

HTML5 的离线存储怎么使用,工作原理能不能解释一下? 在用户没有与英特网连接时,可以正常访问站点或应用,在用户与英特网连接时,更新用户机器上的缓存文件 原理:HTML5 的离线存储时基于一个新建的.appcache 文件的缓存机制(不是存储技术),通过这个文件上的解析清单离线存储资源,这些...

2018-05-21 10:21:04 90 0

原创 每日一题(4)

介绍一下对浏览器内核的理解? 主要分成两部分:渲染引擎(layout engineer 或 Rendering Engine)和 js 引擎 渲染引擎:负责取得网页的内容(HTML、XML 、图像等)、整理讯息(例如加入css等),以及计算网页的显示方式,然后输出至显示器或打印机。浏览器的内核...

2018-05-21 09:54:57 90 0

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