自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(306)
  • 资源 (2)
  • 问答 (12)
  • 收藏
  • 关注

原创 Vue的双向绑定

看过无数遍,还是说不清楚 。来个说人话的加深印象。首先再vue初始化的时候,就对data数据进行了劫持监听,其中就是监听器 Observe,用来监听所有属性。若有属性发生变化就需要告诉订阅者Watcher看是否需要更新。因为订阅者Watcher有多个,所以需要一个消息订阅器 Dep 来专门收集这些订阅者,在监听器Observe和订阅者Watcher之间进行统一管理。还需要有一个指令解析器 Compile ,对每个节点元素进行扫描解析,将相关的指令(如 v-model,v-on …)对应初始化

2022-05-17 11:37:54 367

原创 for与forEach的区别

对于它们的区别,我大概知道,但真让我说出个所以然来,我竟也说不出啥,也许,这就是为什么我成不了一个稍有本事的程序员的原因。感叹的话就到这里。进入正题。1.写法不同(众所周知) var menuEx = ['a','b',...] var m = 'b' for (let = 0; i < menuEx.length; i++) { if (m != menuEx[i]) continue return true }//以上可直接用数据的函数inc

2022-05-16 17:21:33 5893 3

原创 什么是loadsh

什么是loadsh这个概念真不知道?但是如果你说防抖和节流那是必须知道,用别的名字我反而不知是何东东。js call、apply、bind_如花菇凉的博客-CSDN博客========================还是来总结一下吧====================================作用防抖和节流都是用来防止高频率的js代码的执行防抖:以最后一个停止后超过多长时间触发// 防抖export function _debounce(fn, wait) {

2022-05-16 14:24:35 396

原创 java的反射代理

我虽有近2年未亲手敲JAVA代码,但是那么多年的增删改查,还是没有白做。2年了,我依然知道什么是反射代理,但在这里还是得复习下,让思想完整些。何谓反射能够分析类信息的能力叫做反射什么是类的信息简单的来说比如 属性、方法、构造器等等。。。Class class1 = Class.forName("reflect.Person");System.out.println(class1);Field[] fields = class1.getFields(); for (Fiel

2022-05-16 12:11:57 390

原创 redis与mysql的区别

1、在类型上mysql是关系型数据库,而redis是缓存数据库;2、在作用上mysql用于持久化的存储数据到硬盘,而redis用于存储使用较为频繁的数据到缓存中(内存);redis用于存储使用较为频繁的数据到缓存中,读取速度快3、mysql和redis的需求不同4.在速度上mysql用于持久化的存储数据到硬盘,功能强大,但是速度较慢。redis用于存储使用较为频繁的数据到缓存中,读取速度快,能够大大的提高运行效率,但是保存时间有限。MySQL和Redis的运行机制My

2022-05-16 11:35:23 1977

原创 require和import区别

相同点require 和 import,都是为了JS模块化使用。requirerequire是Commonjs的规范,node应用是由模块组成的,遵从commonjs的规范。用法// a.jsfunction test (args) { // body... console.log(args); } module.exports = { test}// b.jslet { test } = require('./a.js'); test('th..

2022-05-16 11:16:37 371

原创 vue 混入 继承浅淡

一声叹息,天天增删改查,来吧。什么是混入mixin将多个vue文件内重复使用的功能代码,提取成单个js文件,在需要使用的地方进行调用即可。 在一个js文件内定义一个对象, 在对象中可以写 vue文件内的 data 、methods、components等所有<script>中可以定义的代码。混入注意(重名情况)组件中的 data变量名 和 混入中的 data变量 名, 发生重名时, 以组件为准;组件中的 methods,computed,wath名称 和 混入中的 methods

2022-05-16 10:43:15 526

原创 前端的工程化、模块化和组件化

什么是工程化工程化是一种思想而不是某种特定的技术,当然我们在实现项目工程化的过程中,我们也会去使用一些技术。前端工程化是使用软件工程的技术和方法来对前端的开发流程、技术、工具等进行规范化、标准化,其主要目的为了提高效率和降低成本,即提高开发过程中的开发效率,减少不必要的重复工作时间。目前,web业务日益复杂化和多元化,单页面应用和webApp风靡。而且前端的生态圈繁荣,各种框架,组件出现,使得前端发展迅速,快速开发已经成为了前端的一个标准。靠传统的前端三剑客 JavaScript、HTML、 CSS

2022-05-16 10:11:27 678

原创 Vue keep-alive后不能触发destroyed

<keep-alive :include="cachedViews"> <router-view :key="key" /> </keep-alive>当我们在项目中配置了keep-alive后,会发现页面关闭不能触发beforeDestroy。首先我们来看看keep-alive是什么东西keep-alive是Vue的内置组件,当它包裹动态组件时,会缓存不活动的组件实例,而不是销毁。它的作用不言而喻用来...

2022-05-13 11:04:53 3668

原创 Vue底层理解

1. key的作用首先v-for在列表渲染时,我们可以用v-for基于一个数组来渲染一个列表。v-for指令需要使用item in arr形式的特殊语法来进行渲染列表,arr是源数据,<ul id="example-1"> <li v-for="item in arr" :key="item.id"> {{ item.message }} </li></ul>当Vue正在使用v-for渲染元素列表的时候,它默认的是使用

2022-05-11 10:13:13 614

原创 浏览器兼容问题

90%都是IE浏览器不兼容,我说的。1.es6标准的新特征promise不兼容。如你使用的axios就用promise进行了封装,所以你肉眼见不到的代码也会因为封装引起了兼容问题。解决办法:见我前博客[vuex] vuex requires a Promise polyfill in this browser.报错_如花菇凉的博客-CSDN博客2.IE浏览器中日期调用getTime()返回NaN解决方法IE不支持yyyy-mm-dd的格式 需要先转成yyyyy/mm/dd 在取.

2022-05-09 11:17:29 164

原创 [vuex] vuex requires a Promise polyfill in this browser.报错

出现这个错误,我第一眼就知道是ES6新增特征之一promise在IE低版本浏览器不兼容的原因。知道了原理就好解决了。第一步: 安装 babel-polyfill 。 babel-polyfill可以模拟ES6使用的环境,可以使用ES6的所有新方法npm install --save babel-polyfill第二步: 在 webpack.base.conf中使用 entry: { //app: './src/main.js' app: ["babel-polyfill

2022-05-09 10:51:31 444

转载 JS手写实现call、apply、bind(超详细)

JS手写实现call、apply、bind(超详细)_CreatorRay的博客-CSDN博客_手写call这是篇良心文章 认真阅读不放过一个疑点 安排的明明白白

2022-05-08 14:23:43 148

原创 call apply bind区别

解决this指向问题? 使用ES6中箭头函数 函数内部使用_this = this 使用apply,call,bind方法 new实例化一个对象 为什么要改变this指向?var name="lucy";let obj={ name:"martin", say:function () { console.log(this.name); }};obj.say(); //martin,this指向obj对象setTimeout(obj.say.

2022-05-08 10:43:44 147

原创 什么是伪类和伪元素?伪类和伪元素的区别的区别详解

1.伪类用来添加一些选择器的特殊效果。2.伪元素伪元素是用来添加一些选择器的特殊效果。3.区别伪元素其实相当于伪造了一个元素,例如before,first-letter达到的效果就是伪造了一个元素,然后添加了其相应的效果而已;而伪类没有伪造元素,例如first-child只是给子元素添加样式而已。伪元素和伪类之所以这么容易混淆,是因为他们的效果类似而且写法相仿,但实际上 css3 为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。...

2022-05-08 10:06:58 2324

原创 什么是html5

老实说,我只知它是一个标准,新增了些许功能强大的标签属性,能适应在终端(手机端),但让我好好地整理总结,我竟也说不出一个字。来吧。什么是html5,用官网的话来说HTML5 是最新的 HTML 标准。HTML5 是专门为承载丰富的 web 内容而设计的,并且无需额外插件。HTML5 拥有新的语义、图形以及多媒体元素。HTML5 提供的新元素和新的 API 简化了 web 应用程序的搭建。HTML5 是跨平台的,被设计为在不同类型的硬件(PC、平板、手机、电视机等等)之上运行。

2022-05-07 17:00:02 320

转载 前端之浅谈浏览器的垃圾回收机制和内存泄露

前端之浅谈浏览器的垃圾回收机制和内存泄露 - 龙波帝国 - 博客园

2022-05-07 12:27:53 145

转载 一篇文章彻底弄懂Base64编码原理

一篇文章彻底弄懂Base64编码原理_程序新视界的博客-CSDN博客_base64原理

2022-05-07 11:40:17 97

原创 CSRF/XSRF攻击和XSS攻击

XSS (Cross Site Scripting跨站脚本)。XSS定义的主语是“脚本”,是一种跨站执行的脚本,也就是javascript脚本,指的是在网站上注入我们的javascript脚本,执行非法操作。CSRF(Cross-site request forgery跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。CSRF定义的主语是”请求“,是一种跨站的伪造的请求,指的是跨站伪造用户的请求,模拟用户的

2022-05-07 11:18:27 500

转载 watch 和computed区别 以及computed的缓存

25、watch 和computed区别 以及computed的缓存 - 简书

2022-05-05 14:36:00 298

原创 Websocket和Http的区别

想起前段时间,四年没有面试的我,弄到了一个内推简历通过的电话面试,当时有个问题,就是说说websocket和http的区别?当时一下就栽到这里了,呀,知识力薄弱呀,该补补了。在进入正题前,如果有对http的不同版本的区别不清楚的,我前期博客传送门http协议各个版本之解说_如花菇凉的博客-CSDN博客_http版本如果对http协议也不清楚的,我前期博客传送门网络知识之----http七层协议_如花菇凉的博客-CSDN博客_http 的七层协议建议明白如上再进入正题HTTP协议

2022-05-01 08:00:00 709 2

转载 超硬核十万字 全网最全 数据结构 代码,随便秒杀老师/面试官,我说的

超硬核十万字!全网最全 数据结构 代码,随便秒杀老师/面试官,我说的_兔老大RabbitMQ的博客-CSDN博客

2022-04-29 15:39:02 105

转载 WebSocket和HTTP的区别及原理

一读就懂WebSocket和HTTP的区别及原理_Passerby_one的博客-CSDN博客_http websocket

2022-04-29 09:59:33 69

转载 解析HTTPS加密原理

解析HTTPS加密原理_富春山居_ZYY的博客-CSDN博客

2022-04-28 16:10:24 54

转载 javascript this优先级

this 绑定的优先级:new > 显示绑定 > 隐式绑定 > 默认绑定。this 的4条绑定规则及优先级_zwkkkk1的博客-CSDN博客_this绑定优先级

2022-04-28 11:20:54 79

转载 javaScript中的this原理及6种常见使用场景

JavaScript中的this原理及6种常见使用场景_有鱼是只猫的博客-CSDN博客

2022-04-28 11:06:42 81

原创 一名【合格】前端工程师的自检清单

惭愧,面对这份自检清单,这些年都是白忙活了。人要有点自驱力,让自己强大,这样不管做什么事,都会心中自有丘壑。亡羊补牢,为时未晚。以后得闲,当自检,自勉。知识是要不断重复学习,实践,才属于自己,不然所行走之处,皆是三日而忘也,其义还不然也。一名【合格】前端工程师的自检清单 - 掘金...

2022-04-28 10:41:51 113

转载 instanceof的底层实现原理,手动实现一个instanceof

instanceof的底层实现原理,手动实现一个instanceof_靓 丶life的博客-CSDN博客_instanceof底层

2022-04-28 10:29:33 93

转载 Object.create()详解并实现继承

Object.create()详解并实现继承_Army-海军的博客-CSDN博客_object.create继承理解了一半,后继有时间再来学习。

2022-04-28 10:12:26 123

原创 new 一个对象时,会发生什么

操作符new 在执行时会做四件事情1,在内存中创建一个新的空对象;2,让this指向这个新的对象;3,执行构造函数里面的代码,给这个新对象添加属性和方法;4,返回这个新对象(所以构造函数里面不需要return);...

2022-04-28 10:01:42 1245

转载 JavaScript 隐式类型转换,一篇就够了

不论你是老兵新兵,自测 console.log('5'-2,'5'+2) console.log('homey' + + 'homey') console.log('10' + + '1') console.log('10' + + 1) let x = 3 console.log('5'+x-x) console.log('5'-x+x)如果你全对了,可以去看别的知识博客了,这块不需要再熟悉了,如果非要看,好吧,文字到处,众所周知,javascript是弱类的,

2022-04-27 12:10:04 244

转载 javascript中 new String 和 String的区别

当 String() 和运算符new 一起作为构造函数使用时,它返回一个新创建的 String 对象,存放的是字符串s或s的字符串表示。当不用 new 运算符调用 String() 时,它只把s转换成原始的字符串,并返回转换后的值。var s0 = 'hello';var s1 = new String(s0);var s2 = String(s0);console.log(s1 === s2); // falseconsole.log(s1 === s0); // false...

2022-04-27 11:09:31 1303

原创 数据结构总结

数据结构中的基础就是数组(顺序存储)和链表(链式存储),记住如下基础概念:队列和栈可以分别通过数组和链表实现 通常情况下我们会用数组实现堆(完全二叉树),用链表也可以实现(二叉搜索树、红黑树、AVL、B树等) 图用二维数组实现就是邻接矩阵,用链表实现就是邻接表 散列表中可以用链表解决散列冲突(拉链法),也可以用数组(线性探测法)数据结构与算法在前端中的应用你熟知的DOM树、AST树、以及Vue、React的Virtual DOM都是树。 React Hooks...

2022-04-27 10:50:51 88

转载 render: h => h(App)

new Vue({ el: '#app', router, store, i18n, render: h => h(App)})render: h => h(App) 是下面内容的缩写:render: function (createElement) { return createElement(App);至于什么是render,【Vuejs】render函数的使用_朵朵和太阳的博客-CSDN博客进一步缩写为(ES6语法):re..

2022-04-24 17:29:52 1803

转载 五个拿来就能用的炫酷登录页面

五个拿来就能用的炫酷登录页面_键盘奏鸣曲的博客-CSDN博客

2022-04-23 18:08:23 693

转载 实现一个盒子在父盒子中水平垂直居中的几种“姿势”

道理说千遍,不如自己敲一遍,来吧,老铁们,就当是复习下加深印象。首先来个sample<body> <div class="container" id="container"> <div class="box" id="box">我是子盒子</div> </div></body><style>.container{ position: relative; height:

2022-04-23 12:00:47 343

原创 box-sizing

box-sizing: border-box就是将border和padding数值包含在width和height之内,这样的好处就是修改border和padding数值盒子的大小不变。官方说明

2022-04-23 11:20:09 70

转载 哈希表和红黑树

不论是java还是javascript还是c++ c等编程语言,其数据结构的底层思想都是一样的,下面来复习下数据结构中的哈希表和红黑树。哈希表和红黑树_vegetablesssss的博客-CSDN博客_哈希表 红黑树

2022-04-23 11:04:17 370

转载 浏览器与node.js的区别

表面的区别浏览器和node.js都可以看作是JS的运行平台,浏览器是JS在客户端的运行时环境,而node.js是JS在服务端的运行环境。 JS运行在浏览器端,用于用户的交互效果。JS运行在node.js,用于服务器的操作。 JS需要浏览器的JS引擎进行解析执行,但是不同浏览器的JS引擎不同,存在兼容性问题。而node.js是基于 chrome v8引擎的运行时环境,无兼容性问题。 对于ECMAScript语法来说,在node.js和浏览器中都能运行。node.js无法使用DOM和BOM的操作,浏

2022-04-23 10:05:25 2463

转载 Node.js底层实现

对于Node.js的全面认识我还不够,只知道它用了谷歌的v8引擎,能做到高并发,(谷歌浏览器用的是v8引擎,这款浏览器对于脚本的执行性能是秒杀了其它浏览器)。下面我们来全面了解下。先放图从图中可以看出,node.js主要由三部分构成V8 javascript引擎Libuv线程池第三方库我们来看看Libuv线程池(核心)libuv使用异步,事件驱动的编程方式,核心是提供i/o的事件循环和异步回调。libuv的API包含有时间,非阻塞的网络,异步文件操作,子进程等等。(

2022-04-22 17:01:41 422

2019程序员年终总结.ppt

2019程序员年终总结,搞笑版C

2020-01-03

扩展名大全.txt

这个文档是4K+个不重复扩展名,是我从网上各种地方搜刮下来的,各位如果要写入数据库,这里我是用空格区分的,可以自行写代码将数据写进数据库

2019-07-27

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

TA关注的人

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