3 DreamFive

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 3w+

导出为pdf

将 指定页面或模块 导出为pdf步骤npm install html2canvas jspdf拷贝htmlToPdf.js (提取码:lip0)到项目中,如 src/libs/ 。在main.js 引入文件import htmlToPdf from '@/libs/htmlToPdf';Vue.use(htmlToPdf);在需要导出的地方加入以下代码<template><div id="role"> ... <co-button type=

2020-06-28 10:47:00

ES5/ES6 除了写法之外还有什么区别?

区别如下:1、class 声明会提升,但是不会初始化赋值const bar = new Bar(); // 2funciton Bar(){ return 2;}const foo = new Foo(); // ReferenceError: Foo is not definedclass Foo{ constructor(){ this.foo = 42; }}2、class 声明内部会启用严格模式function Bar(){ bar = 42; // 不会报错}

2020-06-10 16:50:17

JS实现继承的几种方式

定义一个父类function Father(name){ // 属性 this.name = name || 'father'; // 实例方法 this.sayName = function(){ console.log(this.name); }}// 实例原型方法Father.prototype.age = 18;Fatcher.prototype.sayAage = function(){ console.log(this.age);}一、原型链继承将父类的实例作为

2020-06-06 17:49:43

简单介绍几种前端跨域解决方案

什么是跨域?简单来说,就是一个域下的文档或脚本试图去访问另一个域下的资源,这是广义的跨域。什么是同源策略?同源策略/SOP(same origin policy)是一种约定。他是浏览器最基本也是最核心的安全功能,如果缺少了同源策略,浏览器将会遭受XSS等攻击,所谓的同源策略就是协议、域名、端口号三者都相同。跨域解决方案1、通过 JSONP 跨域2、document.domain + iframe 跨域3、location.hash + iframe 跨域4、window.name + ifr

2020-05-19 23:15:38

深入理解 JS 中的变量提升

1、JS 的预解析机制讲变量提升之前,我们先来了解一下 JS 的预解析机制。JS 的解析和执行JS 的解析过程分为两个阶段:预编译期(预处理,预解析,预编译)和执行期。简单来说,所谓的 预解析 就是:在当前作用域内(请注意,当前作用域有可能是全局作用域,也有可能是当前函数的局部作用域),JavaScript 在执行代码之前,浏览器会默认地首先把所有带 var 和 function 声明的变量进行提前的声明或者定义。var声明的变量和function声明的函数预解析是有去别的,var 声明的变量预解

2020-05-19 01:04:15

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

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

2020-04-27 11:15:48

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

最新在学习 Node.js,涉及 mongoDB 安装包下载时,csdn 上各种下载资源都需要积分,本身学习就不容易,下载个资源还有阻碍。自己这里附上免费资源,mongo 当前最新版本(2020年4月27日下载):链接:mongodb-win32-x86_64-2012plus-4.2.6-signed提取码:ygin安装教程(超级简单,节省大家时间,对着安装就行):1. 下载完安装包之后...

2020-04-27 10:48:49

setTimeout、setInterval 和 requestAnimationFrame 之间的区别

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

2020-04-20 15:54:59

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

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

2019-12-12 23:11:37

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

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

2019-12-10 23:10:17

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

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

2019-12-09 23:31:05

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

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

2019-12-08 00:19:52

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

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

2019-12-07 00:12:47

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

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

2019-12-05 00:12:02

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

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

2019-12-03 23:14:19

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

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

2019-12-02 22:57:57

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

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

2019-08-21 13:40:56

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

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

2019-08-21 10:32:28

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

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

2019-08-08 11:14:36

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

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

2019-08-07 17:20:27

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。