自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 (二)设计模式-单例模式

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

2020-09-13 23:43:32 85

原创 (一)设计模式-周边基础

多态:同一操作作用于不同的对象上面,可以产生不同的解释和不同的执行结果,换句话说给不同的对象发送同一个消息的时候,这些对象可以根据这个消息分别给出不同的反馈。封装:原型模式(1)Object.create();对象的_proto_会属性会默认指向他的构造器的原型对象。this(1)函数作为对象的方法被调用,this指向该对象。(2)普通函数调用,this指向全局对象。(3)构造器调...

2020-08-02 23:44:45 128

原创 (三)浏览器工作原理

浏览器工作原理(三)同源策略XSS跨站脚本攻击CSRF攻击同源策略浏览器默认两个相同的源之间是可以相互访问资源和操作DOM的,两个不同的源之间如果想要相互访问资源或者操作DOn,会有一套基础的安全策略的制约,称之为同源策略。同源策略主要表现在DOM、web数据和网络这三个层面。第一:DOM层面,同源策略限制了来自不同源的js脚本对当前DOM对象读和写的操作,第二:数据层面,同源策略限制了不同源的站点读取当前站点的cookie indexDB LocalStorage等数据,第三:网络层面,同源策

2020-07-19 22:37:25 141

原创 移动端适配方案

移动端适配(一)移动端适配方案(二)响应式设计相关的几个概念(三)获取窗口大小的api(四)横屏适配问题(五)移动端调试(一)移动端适配方案1、缩放动态设置标签(function adapt(){ const cueWidth = window.screen.width; const targetWidth = 750; const scale = curWidth / targetWidth; const meta = document.createElement('meta'); me

2020-07-19 22:35:37 232

原创 (二)浏览器工作原理

浏览器工作原理(二)编译器、解释器V8执行一段js代码的流程消息队列、事件循环XMLHttpRequest运行机制宏任务和微任务编译器、解释器1、在编译型语言的编译过程中,编译器首先会依次对源代码进行词法分析,语法分析,生成抽象语法树,然后是优化代码,最后再生成处理器能够理解的机器码,编译成功则会生成一个可执行文件,编译过程中发生错误,则会抛出异常,2、解释型语言的解释过程中,解释器会对源代码进行词法分析、语法分析并生成抽象语法树,然后会基于抽象语法树生成字节码,最后根据字节码执行程序,输出结果。V

2020-07-05 16:06:01 167 1

原创 (一)浏览器工作原理

线程Vs进程1.多线程可以并行处理任务,线程是不能单独存在的,其是由进程来启动和管理的。进程是一个程序的运行实例。进程中任意一线程出错,都会导致整个进程的崩溃,线程之间可以对进程的公共数据进行读写操作。进程关闭后,操作系统会回收进程所占用的内存。进程之间内容的相互隔离是为保护操作系统中进程互...

2020-06-07 21:44:17 322

原创 数组操作方法总结

项目实战小数转化为百分数小数转化为百分数 (1) return Number(data.row['coverageRate'] * 100).toFixed(2) + '%'; (2)return Math.round(data.row['coverageRate'] * 10000) / 100.0 + '%';...

2020-05-31 19:19:00 507

原创 (三)HTTP-安全篇

HTTP-安全篇HTTPS/SSL/TLS对称解密和非对称加密HTTP存在的一些缺点:无状态:通过加入Cookie后得到解决明文不安全HTTPS/SSL/TLSHTTP在整个传输过程完全透明,任何人都能够在链路中截获、修改或者伪造请求/响应报文,数据不具有可信性。通常任务,如果通信过程具备了四个特性,即机密性,完整性,身份认证和不可否认。机密性:是指对数据的保密,只能由可信的人访问,对其他人是不可见的秘密。完整性:数据在传输过程中没有被篡改,身份认证:确认对方的真实身份,不可否认

2020-05-17 23:02:02 443

原创 (二)HTTP-进阶篇

HTTP-进阶篇HTTP连接管理HTTP连接管理客户端与服务器的整个连接过程很短暂,不会与服务器保持长时间的连接状态,因此被称为“短连接”。长连接也叫持久连接服务器会发送Connection:keep-alive字段表示启用了长连接报文头里如果有Connection:close意味着长连接即将关闭TCP连接长时间不关闭,服务器必须在内存中保存其状态,这就占用了服务器的资源,如果有大量的...

2020-05-10 22:10:36 453

原创 (一)HTTP-基础篇

HTTP-基础篇组成请求行状态行头部字段HTTP请求方法状态码HTTP特点HTTP的实体数据大文件传输组成HTTP协议的核心部分是其传输的报文内容,HTTP协议的请求报文和响应报文的结构基本相同:起始行(start line):描述请求或响应的基本信息;头部字段集合(header):使用key-value形式更详细的说明报文。消息正文(entity):实际传输的数据,不一定是纯文本,...

2020-05-05 20:33:32 300

原创 Swiper踩坑

swiper踩坑之路一、swiper简单使用指南二、网格分布三、遇到的问题一、swiper简单使用指南1、安装swiper依赖包npm i swiper2、引入swiperimport Swiper from 'swiper';import 'swiper/css/swiper.css'3、使用//html<div class="swiper-container"&gt...

2020-04-19 17:26:43 588

原创 (四)egg-核心功能

(四)egg-核心功能(1)异常处理(2)安全(3)鉴权(1)异常处理异常捕获框架支持的异步编程模型,错误可以使用try catch来捕获。所有的地方均可直接用try catch来捕获异常。onerror插件的配置中支持errorPageUrl属性,当配置了errorPageUrl时,一旦用户请求线上应用的HTML页面异常,就会重定向到这个地址。// config/config.de...

2020-04-12 22:12:25 442

原创 (三)egg-核心功能

(三)egg-核心功能(1)应用部署(1)应用部署1、构建从源码到真正运行,一般会拆分为构建和部署两个步骤,做到一次构建多次部署。js语言构建的过程主要是下载依赖,一般安装依赖会指定node_env=production或者只安装dependencies的依赖,构建完成之后打包成tgz文件,部署时解压启动即可。2、部署部署服务器需要预装Node.js,框架支持的版本为>=8.0....

2020-04-06 22:48:43 1039 1

原创 (二)egg-基础功能

(一)egg-核心功能一、定时任务(二)框架扩展(1)Application(2)Context(3)request & response(三)启动一、定时任务(1)编写定时任务所有的定时任务均放在app/shedule目录下,每一个文件都是一个独立的定时任务,可以配置定时任务和要执行的方法。例如:更新远程数据到内存缓存的定时任务,可以在app/schedule目录下创建一个文件...

2020-04-06 16:18:58 896

原创 (一)egg-基础功能

(一)egg-基础功能快速上手目录结构内置对象(1)Application(2)Context(3)response & request(4)Controller(5)service & helper & Config & logger中间件中间件的编写中间件的使用通用配置路由参数获取控制器服务快速上手npm install egg --type = simpl...

2020-03-22 19:07:53 1245

原创 (二)js基础-通信

(二)js基础-通信同源策略及限制前后端通信方式如何创建Ajax跨域通讯的几种方式同源策略及限制同源策略限制从一个源加载的文档或脚本如何与来自另一个源的资源进行交互,这是一个用于隔离潜在恶意文件的关键的安全机制。同源策略是为了保证用户信息的安全,防止恶意的网站窃取数据。源是由协议,域名,端口构成,不是一个源的文档无法去操作另一个源的文档。限制有:(1)Cookie,localStora...

2020-03-08 20:42:15 205 1

原创 (一)js基础-原型链

js基础-原型链创建对象的几种方法原型、构造函数、实例、原型链instanceof的原理new运算符创建对象的几种方法1)字面量var o1 = {name:'aa'};2)使用new Object()var o2 = new Object({name:'bb'})3)使用显示的构造函数var O = function(name){ this.name = name}...

2020-03-01 21:30:08 87

原创 VUEX

vuexvuex为什么需要VUEX核心概念(1)state(2)mutations(3)actions(4)getter(5)module使用vuexvuex是专门为vue.js应用程序开发的状态管理模式,可以理解为在data中的属性,需要共享给其他组价使用的部分,采用集中式存储管理应用的所有组件的状态,并以相应的规则状态以一种可以预测的方法发生改变。简单的理解就是在state中定义了一个数...

2020-03-01 18:08:21 106

原创 VUE基础知识

Vue组件存在的缺点1、全局定义:每个组件的命名不可重复2、字符串模板:缺乏语法高亮,可读性较差单文件组件(1)vue cli 脚手架(2)插槽:匿名插槽,具名插槽,作用域插槽:子组件可以传递出一些状态给父组件使用,从而进一步控制传递的内容。vue组件的三大核心概念:属性、事件、插槽(1)属性自定义属性:在组件props中声明的变量原生属性:没有声明的属性,默认自动挂载...

2020-02-23 21:09:32 137

原创 vue源码学习

vue源码结构(1)目录结构源码构建数据驱动(1)目录结构Vue的源码主要存放在src目录下,目录结构如下:(1)compiler:编译相关(2)core:核心代码(3)platforms:不同平台的支持(4)server:服务端渲染(5)sfc:.vue文件解析(6)shared:共享代码源码构建基于npm托管的项目均会有一个对项目的描述文件“package.json”,通常...

2019-09-30 10:33:11 136

原创 Vue响应式原理

VUE响应式原理Object.definePropertyvm.$option响应式更新基本概念vue.js的响应式原理依赖于Object.defineProperty Vue通过设定对象属性的setter和getter方法监听数据的变化。Object.definePropertyObject.defineProperty(obj, prop, descriptor)obj:要在其上定义...

2019-09-30 10:13:02 381

原创 图片格式对比

图片格式格式优点缺点适用场景gif文件小,支持动画、透明,无兼容性问题只支持256种颜色色彩简单的logo、icon、动图jpg色彩丰富,文件小有损压缩,反复保存图片质量下降明显色彩丰富的图片/渐变图像webp文件小,支持有损和无损压缩,支持动画、透明浏览器兼容性不好支持webp格式的app和webviewpng无损压缩,支持透明,简...

2019-09-26 21:01:12 196

原创 vue-router路由传参

路由传参1.使用params 传参2.使用query传参1.使用params 传参patams传参 ,路径不能使用path 只能使用name,不然获取不到传的数据格式:this.$router.push({name: 'dispatch', params: {paicheNo: obj.paicheNo}})取数据:this.$route.params.paicheNo问题:页面刷新...

2019-09-25 15:16:25 260

原创 LInux文件操作指令

文件操作指令常用文件操作指令常用文件操作指令(1)创建文件夹:mkdir XXX(2)创建文件:touch xxx.txt(3)移动文件mv xxx sm/ 将文件(文件夹)移动到当前目录下的sm目录下(4)删除文件:rm -rf a删除a文件 -r递归删除 -f强制删除...

2019-09-07 14:57:20 393

原创 git

git学习记录1.git简介2.git安装3.git使用3.1 相关命令3.2 创建本地git仓库并与远程库关联3.3 分支管理4.其他GUI1.git简介什么是git? git是一种分布式版本控制系统,什么是版本控制? 版本控制是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。为什么叫分布式?已有的版本控制系统...

2019-08-23 09:11:44 160

原创 js设计模式-观察者模式

js设计模式-观察者模式(发布-订阅模式)DOM事件自定义事件观察者模式的通用实现取消订阅事件全局的发布-订阅对象全局事件的命名冲突观察者模式定义对象之间的多对多的依赖关系,当一个对象的状态发生改变的时候,所有依赖于它的对象都将得到通知。观察者模式可以广泛应用于异步编程中,同时可以取代对象之间硬编码的通知机制,一个对象不用再显式的调用另一个对象的某个接口。DOM事件DOM节点上绑定事件函数,...

2019-08-21 13:59:04 114

原创 webpack loader开发并发布到npm

loader开发与发布loader开发loader发布loader开发loader可以被链式调用,为每一步创建一个loader而不是一个loader做所有的事情。单一职责链式组合例如:开发一个comment-require-loader作用是将JavaScript代码中的注释语法:// @require '../style/index.css'转换成:require('../st...

2019-08-18 21:25:57 817

原创 《深入浅出webpack》阅读笔记(四)

《深入浅出Webpack》阅读笔记(四)四、使用webpack优化开发体验和输出质量1、优化构建速度(1)缩小文件的搜索范围(2)使用DllPlugin(3)使用HappyPack(4)使用parallelUglifyPlugin(5)使用自动刷新(6)开启模块热替换(7)区分环境(8)压缩代码(9)CDN加速四、使用webpack优化开发体验和输出质量本文主要介绍webpack是如何提升开发...

2019-08-13 20:48:55 194

原创 《深入浅出Webpack》阅读笔记(三)

《深入浅出Webpack》阅读笔记(三)三、 webpack基本配置速查1、Entry2、Output输出3、Module模块4、Resolve解析5、Plugin6、DevServer7、其他配置项8、整体配置结构9、多种配置类型10、总结三、 webpack基本配置速查配置webpack的方式有一下两种:(1)通过JavaScript文件描述配置,例如webpack.config.js文...

2019-08-12 21:06:28 248

原创 《深入浅出Webpack》阅读笔记(二)

《深入浅出Webpack》阅读笔记(二)webpack常用配置概览1、Entry入口2、output出口3、loader4、plugins插件5、使用DevServer6、实时预览7、模块热替换8、支持Source Mapwebpack常用配置概览webpack是一个现代JavaScript应用程序的静态模块打包器(module bundler),在处理应用程序时会递归地构建一个依赖关系图,其...

2019-08-12 13:53:32 131

原创 《深入浅出webpack》阅读笔记(一)

《深入浅出Webpack》阅读笔记(一)一、基础入门1、前端发展现状模块化新框架新语言2、 常见的构建工具对比Npm ScriptGruntGulpFis3WebpackRollup3、webpack安装教程安装webpack到本项目安装webpack到全局使用webpack一、基础入门首先主要了解webpack时做什么的?我们为什么要使用webpack?基础的安装与使用,以及常用的构建工具的...

2019-08-12 10:17:41 202

面向对象实验指导书

面向对象的实验指导书。目录 一、实验1:熟悉实验环境 二、实验2:数据抽象 三、实验3:继承与多态性 三、实验4:重载和I/O流及面向对象程序设计

2014-12-09

空空如也

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

TA关注的人

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