自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (2)
  • 收藏
  • 关注

原创 面试题系列——深思考核内容

面试题系列——深思考核内容一、如何让(a===1&&a=\==2&&a=\==3)的值为true?二、如何实现一个无限累加函数总结一、如何让(a===1&&a===2&&a===3)的值为true?双等号(==):会触发隐式类型转换,所以可以使用 valueOf 或者 toString 来实现。每次判断都会触发valueOf方法,同时让value+1,才能使得下次判断成立。class A { constructor(value)

2020-09-27 11:12:12 721

原创 CSS进阶CSS3,初入前端必备技能之一

CSS进阶CSS3,初入前端必备技能之一一、CSS3是什么?二、使用步骤1.CSS3 边框2.CSS3 背景总结一、CSS3是什么?对CSS3已完全向后兼容,所以你就不必改变现有的设计。浏览器将永远支持CSS2。最重要CSS3模块如下:选择器盒模型背景和边框文字特效2D/3D转换动画多列布局用户界面二、使用步骤1.CSS3 边框border-radius CSS3 圆角div{border:2px solid;border-radius:25px;}box-sha

2020-09-10 17:12:19 409

原创 黑科技偏门实用的js方法总结

黑科技偏门实用的js方法总结一、contains是什么?总结一、contains是什么?使用场景:自定义一个组件,监听每一次点击事件,如果点击到组件以外的区域,则组件隐藏——类似于dialog弹窗的效果原理:每一次点击,都会有捕获和冒泡的阶段,捕获是从html元素向下到点击元素,冒泡阶段是从点击元素向上到html,在这过程中是否有需要的组件dom使用语法://意思判断B中是否包含AB.contains(A)总结good afternoon...

2020-09-02 14:54:18 1875

原创 VUE内置 HOOKS钩子函数,HOOKS API的Vue实现

VUE内置 HOOKS钩子函数,HOOKS API的Vue实现一、HOOKS二、使用步骤1.withHooks2.useState2.useEffect总结一、HOOKSHook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。后来看到尤大在 Vue 3.0 最近进展 的视频中也提到了 Hooks API,并写了一个在 Vue 中使用 Hooks 的 POC。可以把hooks当作更强、更实用的mixins。二、使用步骤

2020-09-29 16:08:00 2616

原创 VUE3模板,JSX,JSV

JSXJSX1. 变量作用域比较1.1 .vue 中无法使用当前作用域变量,必须return后才能使用1.2 .jsx 中可以直接使用当前作用域的变量2. 灵活性比较2.1 .vue 中一个文件只能写一个组件2.2. .jsx 中可以写多个组件3. 指令比较3.1. .vue 原生支持优雅的指令写法3.2. .jsx 本身不支持指令 社区有多种指令的书写方式,各种千奇百怪,为此还开了issue讨论,至今仍然没有友好的解决方式。因此可以暂时认为 .jsx 不支持指令或支持的不好.4. 运行时性能比较4.1.

2020-09-29 11:02:29 1434 1

原创 资深架构师之路——深入理解JavaScript垃圾回收机制

资深架构师之路——深入理解JavaScript垃圾回收机制一、垃圾回收机制二、为什么使用三、如何使用1、引用计数2、标记清除四、避免垃圾回收1.数组array优化2. 对象尽量复用3.循环优化五、避免内存泄漏1.意外的全局变量2.被遗忘的计时器或回调函数3.闭包4.没有清理的DOM元素引用总结一、垃圾回收机制垃圾回收:js代码想要运行,需要操作系统或者运行时提供内存空间,来存储变量及它的值。在某些变量(例如局部变量)在不参与运行时,就需要系统回收被占用的内存空间,称为垃圾回收内存泄漏:某些情况下,不再

2020-09-27 10:47:21 396

原创 VUE源码解析——全局 API 篇,学习Vue中所有全局API的实现原理

VUE源码解析——全局 API 篇,学习Vue中所有全局API的实现原理学习Vue中所有全局API的实现原理总结学习Vue中所有全局API的实现原理总结good night

2020-09-25 22:09:21 351

原创 a标签的target属性,_blank,_self,_parent,_top,下载任务进度条显示在浏览器的下方,下载文件自动打开关闭

a标签的target属性,_blank,_self,_parent,_top总结_blank:设置target属性值为“_blank”,可以在一个新的窗口中打开链接。_self:设置target属性值为“_self”,会在相同的框架或者窗口中打开链接。*_parent:**设置target属性值为“_parent”,会在父窗口或者包含来超链接引用的框架的框架集中打开链接。我们可以看到原来的Frame_B_1也被新打开的链接覆盖了。_top:设置target属性值为“_top”,会清除所有被包

2020-09-23 10:30:32 1523

原创 JavaScript比较两个对象的值,自定义equal方法

JavaScript比较两个对象的值,自定义equal方法总结定义比较两个对象的方法//比较2个对象是否相同function isObjEqual(o1,o2){ var props1 = Object.getOwnPropertyNames(o1); var props2 = Object.getOwnPropertyNames(o2); if (props1.length != props2.length) { return false; } fo

2020-09-21 22:58:08 1649

原创 使用本地文件创建Web Worker多线程任务,分担复杂的操作,加快操作速度

使用本地文件创建Web Worker多线程任务,分担复杂的操作,加快操作速度一、Web Worker二、使用步骤1.创建worker2.调用worker总结一、Web Workerweb worker 是运行在后台的 JavaScript,不会影响页面的性能。当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此时 web work

2020-09-21 11:35:35 1411

原创 比较ES6、ES7、ES8常用特性和新特性

比较ES6、ES7、ES8常用特性和新特性一、ES6变量的改变,添加了块级作用域的概念字符串新增方法函数可以像C/C++那样设置默认参数值,增加数据容错能力对象键值对重名简写对象字面量简写提供对象对象合并数据解构和rest参数数据展开PromisecatchallracesetES7求幂运算符(**)Array.prototype.includes()ES8async、await异步解决方案Object.entries()Object.values()字符串填充padStart()、padEnd()总结一

2020-09-20 22:36:40 2410

原创 javascript中while、dowhile、switch、for循环语句

javascript中while、dowhile、for循环语句一、循环语句二、whiledo...whileswitchfor总结一、循环语句一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。 循环语句是由循环体及循环的终止条件两部分组成的。二、whilelet a = 1while(a < 10){console.log('a:' + a)a++}do…whiledo{con

2020-09-20 11:50:25 254

原创 字符串中的特殊字符

字符串中的特殊字符总结加上反斜线’'转义总结good night

2020-09-19 23:36:08 603

原创 Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?Doctype文档类型?

Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?Doctype文档类型?一、Doctype作用?二、严格模式与混杂模式如何区分?三、它们有何意义?四、Doctype文档类型?总结一、Doctype作用?声明位于文档中的最前面,处于 标签之前。告知浏览器以何种模式来渲染文档。二、严格模式与混杂模式如何区分?浏览器解析时到底使用严格模式还是混杂模式,与网页中的 DTD 直接相关。1、如果文档包含严格的 DOCTYPE ,那么它一般以严格模式呈现。(严格 DTD ——严格模式)2、包含

2020-09-19 23:18:17 213

原创 VUE源码解析——内置组件篇,学习Vue中内置组件的实现原理

VUE源码解析——内置组件篇,学习Vue中内置组件的实现原理学习Vue中内置组件的实现原理总结学习Vue中内置组件的实现原理总结good night

2020-09-19 17:35:15 436

原创 VUE源码解析——Object、Array变化侦测原理解析,学习Vue中如何实现数据的响应式系统,从而达到数据驱动视图。

VUE源码解析——Object变化侦测原理解析一、什么是变化侦测?二、Object变化侦测1.Object.defineProperty方法2.依赖收集什么是依赖收集何时收集依赖?何时通知依赖更新?依赖管理器Dep类Watcher类不足之处Object变化侦测流程总结├─dist # 项目构建后的文件├─scripts # 与项目构建相关的脚本和配置文件├─flow # flow的类型声明文件├─s

2020-09-18 11:41:22 330

原创 从浅入深学习TypeScript,通俗易懂——变量声明

从浅入深学习TypeScript,通俗易懂——变量声明一、TypeScript是什么?二、使用步骤1.var 声明作用域规则捕获变量怪异之处 *(常见面试题)let 声明块作用域重定义及屏蔽块级作用域变量的获取总结一、TypeScript是什么?TypeScript 是 JavaScript 的类型的超集,它可以编译成纯 JavaScript。编译出来的 JavaScript 可以运行在任何浏览器上。TypeScript 编译工具可以运行在任何服务器和任何系统上。TypeScript 是开源的。Ty

2020-09-17 20:16:27 452 1

原创 VUE源码解析——模板编译底层原理,学习Vue内部是怎么把template模板编译成虚拟DOM,从而渲染出真实DOM

VUE源码解析——模板编译底层原理一、什么是模板编译?二、整体渲染过程三、模板编译内部流程抽象语法树AST总结一、什么是模板编译?把写在<template></template>标签中的类似于原生HTML的内容称之为模板。在<template></template>标签中除了写一些原生HTML的标签,我们还会写一些变量插值,或者写一些Vue指令,这些东西都是在原生HTML语法中不存在的,不被接受的。render函数会将模板内容生成对应的VNode,VNo

2020-09-17 19:57:44 1378

原创 VSCODE全局背景图片设置教程,background-cover插件

VSCODE全局背景图片设置教程,background-cover插件总结安装插件background-cover找到安装vscode文件路径Program Files\Microsoft VS Code\resources\app\out\vs\workbench搜索workbench.desktop.main.css文件用管理员模式的vscode打开格式化在文件最前端设置总结good afternoon...

2020-09-17 19:45:19 5569 1

原创 VUE源码解析——虚拟DOM,用js对象描述DOM节点,学习什么是虚拟 DOM,以及Vue中的DOM-Diff原理

VUE源码解析——虚拟DOM,用js对象描述DOM节点一、虚拟DOM是什么?二、VNODE类VNode的类型三、VNODE作用总结一、虚拟DOM是什么?虚拟DOM,就是用一个JS对象来描述一个DOM节点如下示例:<div class="a" id="b">我是内容</div>{ tag:'div', // 元素标签 attrs:{ // 属性 class:'a', id:'b' }, text:'我是内容',

2020-09-17 15:50:43 622

原创 JavaScript原型和原型链详解

JavaScript原型和原型链详解一、JavaScript原型什么是原型二、JavaScript原型链什么是原型链什么是prototype和custructor一、JavaScript原型什么是原型在JavaScript中,每当定义一个函数数据类型(普通函数、类)时候,都会天生自带一个prototype属性,这个属性指向函数的原型对象,并且这个属性是一个对象数据类型的值。二、JavaScript原型链什么是原型链在JavaScript中万物都是对象,对象和对象之间也有关系,并不是孤立存在的。对

2020-09-14 22:17:21 405

原创 JavaScript作用域和作用域链详解

JavaScript作用域链详解一、JavaScript作用域JavaScript作用域是什么?作用域范围二、JavaScript作用域链作用域与执行上下文总结一、JavaScript作用域JavaScript作用域是什么?作用域是在运行时代码中的某些特定部分中变量,函数和对象的可访问性。换句话说,作用域决定了代码区块中变量和其他资源的可见性。作用域范围块语句(大括号“{}”中间的语句),如 if 和 switch 条件语句或 for 和 while 循环语句,不像函数,它们不会创建一个新的作用域

2020-09-14 19:44:19 398

原创 以凡人之躯,用js事件监听自定义——写一个绝对定位card组件

以凡人之躯,用js事件监听自定义——写一个绝对定位card组件一、组件是什么?二、使用步骤1.创建组件三、效果总结一、组件是什么?所谓组件化,就是把页面拆分成多个组件,每个组件依赖的 CSS、JS、模板、图片等资源放在一起开发和维护。 因为组件是资源独立的,所以组件在系统内部可复用,组件和组件之间可以嵌套,如果项目比较复杂,可以极大简化代码量,并且对后期的需求变更和维护也更加友好。二、使用步骤1.创建组件html<div class="floatCard" ref="floatCard"

2020-09-13 11:32:49 292

原创 Object原生监听对象变化,类似ES6的proxy代理

Object原生监听对象变化,类似ES6的proxy代理一、监听对象变化二、使用步骤总结一、监听对象变化数据驱动视图的关键点则在于我们如何知道数据发生了变化JS的Object.defineProperty方法二、使用步骤// defineProperty第一个参数是对象,第二个参数是访问对象属性名,第三个参数是get和set操作let car = {}let val = 3000Object.defineProperty(car, 'price', { enumerable: true,

2020-09-12 16:24:37 325

原创 全面的前端依赖库,项目引入dependencies

全面的前端依赖库,项目引入dependencies总结 // antv开头的是阿里的"dependencies": { // G2数据可视化库 // npm install @antv/g2 --save // // import { Chart } from '@antv/g2'; "@antv/data-set": "^0.10.2", "@antv/g2": "^4.0.15", "@antv/g2-plugin-slider": "^2.1.1

2020-09-10 18:09:26 1346

原创 JavaScript前端定时器,异步操作

JavaScript前端定时器,异步操作一、定时器是什么?二、使用步骤1.setInterval()2.setTimeout()总结一、定时器是什么?定时器就是闹钟二、使用步骤1.setInterval()代码如下(示例):setInterval(code,millisec,lang)2.setTimeout()代码如下(示例):setTimeout(code,millisec,lang)setTimeout(function(){alert("Hello")},3000);

2020-09-09 19:53:09 472

原创 从浅入深学习TypeScript,通俗易懂——基础类型

从浅入深学习TypeScript,通俗易懂一、TypeScript是什么?二、使用步骤1.引入库2.编译ts文件2.运行ts文件3.原始数据类型4.任意值总结一、TypeScript是什么?TypeScript 是 JavaScript 的类型的超集,它可以编译成纯 JavaScript。编译出来的 JavaScript 可以运行在任何浏览器上。TypeScript 编译工具可以运行在任何服务器和任何系统上。TypeScript 是开源的。TypeScript 增加了代码的可读性和可维护性类型系统

2020-09-09 14:51:40 438

原创 前端必须掌握知识点——Javascript数据类型

Javascript数据类型总结JavaScript 的类型分为两种:原始数据类型(Primitive data types)和对象类型(Object types)。原始数据类型包括:布尔值、数值、字符串、null、undefined 以及 ES6 中的新类型 Symbol 和 BigInt。对象数据类型包括: object1、Undefined:Undefined类型只有一个值,即特殊值undefined。在使用var声明变量,但未对其加以初始化时,这个变量值就是undefined。2、Null

2020-09-09 14:41:27 223

原创 WEB安全防护三大漏洞场景和原理

WEB安全防护三大漏洞场景和原理一、WEB漏洞是什么?二、详解1.XSS跨站脚本攻击2.CSRF跨站请求伪造3.SQL注入(高危)总结一、WEB漏洞是什么?WEB漏洞通常是指网站程序上的漏洞,可能是由于代码编写者在编写代码时考虑不周全等原因而造成的漏洞,常见的WEB漏洞有Sql注入、Xss漏洞、上传漏洞等。二、详解1.XSS跨站脚本攻击处理方案: 客户提交数据进行校验,转移处理原理: 添加了代码嵌入到web中,盗取用户信息2.CSRF跨站请求伪造场景: 钓鱼网站,创建的是用户想要进入的一样

2020-09-09 11:06:17 613

原创 webpack深入配置详解

webpack深入配置详解一、webpack是什么?二、使用步骤1.创建文件vue.config.js2.配置webpack总结一、webpack是什么?WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其打包为合适的格式以供浏览器使用。a:模块化,让我们可以把复杂的程序细化为小的文件;b:类似于TypeScript这种在JavaScript基础上拓展的开发语言:使我们能

2020-09-08 20:57:59 162

原创 vue项目中使用数据可视化工具ECharts

vue项目中使用数据可视化工具ECharts一、ECharts是什么?二、使用步骤1.引入库2.使用总结一、ECharts是什么?ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。二、使用步骤1.引入库代码如下(示例):npm install echart

2020-09-08 16:51:43 1044

原创 vue项目webpack配置代理,报错代理失败,Proxy error: Could not proxy request xxx from xxx

vue项目webpack配置代理,报错代理失败,Proxy error: Could not proxy request xxx from xxx解决思路1.原因总结解决思路1.原因1.是因为代理对象没有开启服务,不能访问到对象服务器2.代理规则写错总结good morning...

2020-09-07 10:37:42 42703 15

原创 电脑连接了wifi但是不能访问Intel,window诊断网络为:远程计算机或设备将不接受连接

电脑连接了wifi但是不能访问Intel,window诊断网络为:远程计算机或设备将不接受连接解决步骤1.原因是使用了VPN后代理服务没有关闭2.首先打开谷歌浏览器3.找到谷歌的设置功能4.找到计算机的代理设置5.划到最下面总结解决步骤1.原因是使用了VPN后代理服务没有关闭2.首先打开谷歌浏览器3.找到谷歌的设置功能4.找到计算机的代理设置5.划到最下面总结good night...

2020-09-07 10:06:25 3674

原创 VUE框架深入——自定义指令directive

VUE框架深入——自定义指令directive一、自定义指令directive总结一、自定义指令directive注册一个全局自定义指令 v-focusVue.directive('focus', { // 当被绑定的元素插入到 DOM 中时…… inserted: function (el) { // 聚焦元素 el.focus() }})如果想注册局部指令,组件中也接受一个 directives 的选项directives: { focus: { /

2020-09-06 19:43:18 273

原创 ES6系列——Map 和 WeakMap 数据结构

ES6系列——Map 和 WeakMap 数据结构一、Map二、WeakMap总结一、MapObject 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现const m = new Map();const o = {p: 'Hello World'};m.set(o, 'content')m.get(o) // "content"m.has(o) // truem.delete(o) // truem.has(o) // false

2020-09-06 18:59:08 177

原创 VUE框架深入——计算属性computed和侦听器watch(深度监听对象属性的变化)

VUE框架深入——计算属性和侦听器一、计算属性computed二、侦听属性watch总结一、计算属性computed对于任何复杂逻辑,你都应当使用计算属性computed: { // 计算属性的 getter reversedMessage: function () { // `this` 指向 vm 实例 return this.message.split('').reverse().join('') } }计算属性默认只有 getter,不过

2020-09-05 20:55:42 1928

原创 ES6系列——Set 和 WeakSet 数据结构

ES6系列——Set 和 WeakSet 数据结构一、SetSet是什么Set 实例的属性和方法遍历Set二、WeakSetWeakSet 实例的属性和方法总结一、SetSet是什么ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成 Set 数据结构。const s = new Set();[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));for (let i of s) {

2020-09-05 19:26:04 215

原创 深入理解js原型链和作用域链,了解作用域链和原型链的区别

深入理解js原型链和作用域链,了解作用域链和原型链的区别一、原型链二、作用域链三、原型链和作用域链的区别:总结一、原型链每一个构造函数都有一个prototype属性,这个属性就叫原型对象。每一个构造函数new出来的对象都有一个–proto–属性,这个属性指向原型对象。<script> function Car(){ //实例属性: //this.produce = ‘chevrolet‘, this.price = 8

2020-09-05 19:15:10 1178

原创 闭包,堆栈,深浅克隆

闭包,堆栈,深浅克隆一、闭包二、使用步骤1.引入库2.读入数据总结一、闭包立即执行函数,函数后面的括号带的是实参var test = (function (i) { return function () { alert(i *= 2) }})(2);test(5) //字符串4二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seabo

2020-09-05 19:01:38 163

原创 http/https请求响应状态码大全

http/https请求响应状态码大全一、http和https协议是什么?二、状态码大全总结一、http和https协议是什么?HTTP协议:全称是HyperText Transfer Protocol,中文意思是超文本传输协议,是一种发布和接收HTML页面的方法。服务器端口号是80端口。HTTPS协议:是HTTP协议的加密版本,在HTTP下加入了SSL层。服务器端口号是443端口。二、状态码大全http请求1xx100是服务器接收到请求,但是没有响应2xx200是请求成功3xx是重定

2020-09-05 18:23:25 2613

最新热门、好看前端vue模板大全

最新热门、好看前端vue模板大全。你准备开始一个重要的Vue项目吗?为了确保从坚实的基础开始,您可以使用模板(也就是样板,骨架,起动器或脚手架)而不是从npm init或开始vue init。

2020-10-05

threejs案例源码.rar

three.js是JavaScript编写的WebGL第三方库。提供了非常多的3D显示功能。Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象

2020-08-24

空空如也

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

TA关注的人

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