自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

搬砖猴哥

路虽远,行则将至;事虽难,做则必成

  • 博客(46)
  • 收藏
  • 关注

原创 vue面试题大全汇总

vue的两个核心组件系统、数据驱动什么是双向数据绑定?v-model,数据发生变化,同步视图,视图发生变化,同步数据什么是单向数据流?在父向子传值的时候,如果改变父组件的值,子组件会跟着同步更新,反之不允许MVVM的设计思想的优势?双向绑定技术,当Model变化时,View也会自动变化,view发生更新,model也跟着同步我们减少了dom的操作,因为我们只需要关注数据就可以m...

2020-03-11 20:13:15 4491 2

原创 浏览期缓存流程-强缓存和协商缓存

概念浏览器会将请求后的资源进行存贮为离线资源,当下次需要该资源时,浏览器会根据缓存机制决定直接使用缓存资源还是再次向服务器发送请求作用减少了不必要数据的传输、降低服务器的压力加快了客户端访问速度增强用户体验强缓存不向服务端发送请求,强制使用缓存数据实现方式后端在响应头中返回Expires 和 Cache-ControlExpires :http协议1.0的字端缓存过期时间,用来指定资源到期的时间,是服务器端的具体的时间点浏览器:使用expires到期时间和本地时间进行对比,如果

2022-02-19 13:22:26 839

原创 原型链继承/借用构造函数继承/组合式继承/寄生继承/es6类继承

继承子类能够使用父类的属性和方法原型链继承创建人的类function Person(name, age) { this.name = name this.age = age}Person.prototype.say = function () { console.log('说话了')}const p1 = new Person('张三', 19)创建狗的类function Dog(name, age) { this.name = name this.ag

2021-12-27 14:01:39 382

原创 什么是mvc和mvvm?以及mvc和mvvm的区别

mvvm 和 mvcmvcmvc是一种代码架构设计模式,前端中的mvc最主要的作用就是将视图和数据模型进行分离为什么需要mvc也就是为什么需要将视图和数据模型进行分离<select id="drinkSelect"> <option value="coffee">coffee</option> <option value="milk">milk</option> <option value="juice"&g

2021-08-01 22:55:03 12003

原创 彻底弄懂javascript中的异步、微任务、宏任务、Eventloop

概念js是单线程的,也就代表js只能一件事情一件事情执行,那如果一件事情执行时间太久,后面要执行的就需要等待,需要等前面的事情执行完成,后面的才会执行。所以为了解决这个问题,js委托宿主环境(浏览器)帮忙执行耗时的任务,执行完成后,在通知js去执行回调函数,而宿主环境帮我们执行的这些耗时任务也就是异步任务js本身是无法发起异步的,但是es5之后提出了Promise可以进行异步操作执行流程主线程先判断任务类型如果是同步任务,主线程自己执行如果是异步任务,交给宿主环境(浏览器)执行浏览

2021-06-16 14:12:54 797 13

原创 js垃圾回收机制和闭包

js垃圾回收机制概念js的内存是自动进行分配和回收的,内存在不使用的时候会被垃圾回收器自动进行回收,但是我们需要了解垃圾回收的机制,从而防止内存泄漏(内存无法被回收)生命周期内存创建分配: 申请变量\对象\函数等内存使用: 对内存进行读写,也就是使用变量或函数对象等内存销毁: 变量\函数\对象等不再使用,即被垃圾回收自动回收掉核心算法判断内存是否不再使用,如果是则回收引用计数ie采用的是引用计数计算当前内存被引用的次数,被引用一次计数+1,不被引用一次计数-1,当计数为0,该内存释放回

2021-05-26 17:26:12 486 3

原创 vue2.0简易的数据响应式

vue2.0数据响应式原理概念vue中,当data中的数据一旦发生变化,依赖此数据的会自动同步视图进行更新前置想实现数据响应式,那么我们需要先了解关于对象的属性的特性getOwnPropertyDescriptor该方法返回一个对象,该对象描述给定对象上特定属性的配置(即直接存在于对象上而不在对象的原型链中的属性)。返回的对象是可变的const data = { name: '张三', age: 14}console.log(Object.getOwnPropertyDescrip

2021-03-14 14:43:45 347 1

原创 vscode-eslint插件,让你vue项目不再烦eslint校验

我们在开发vue项目中,利用脚手架初始化项目必不可少的是安装eslint校验工具,但是eslint校验对于小白开发来说,真的很难熬,所以我这里推荐一款vscode的插件,eslint,能够帮助我们在开发的时候自动格式化为eslint要求的格式,是不是很爽????安装完后,打开首选项》设置,然后打开设置json然后将配置复制进去{ "eslint.enable": true, "eslint.run": "onType", "eslint.options": {

2021-02-08 12:41:14 930 2

原创 react之redux教程:全网讲解redux最清晰文章

reduxredux 基本介绍概念redux是一个用来管理状态(数据)的框架。为什么要用redux?例如,一个组建的数据共享到其他组建,A1-1组建的数据要在A2和A2-1中使用,用以往的方式通过组建间传递也能实现,但是太过麻烦,如果项目较大,数据交互较多的场景,数据维护更为复杂,所以更适合将公共的数据放到公共的仓库中。以下摘自阮一峰文章!事实上,大多数情况,你可以不用它,只用 React 就够了。曾经有人说过这样一句话。“如果你不知道是否需要 Redux,那就是不需要它。”Redu

2021-01-01 21:15:51 1526

原创 快速上手vue3.0

vue3.0环境安装安装最新vue脚手架npm i @vue/cli -g通过脚手架创建项目,并选择3.0vue create vue-next运行项目npm run servevue3.0 组合式apivue2.0采用的叫做选项式api:例如我们想实现某一个功能,关于这个功能的数据我们会定义在data中,事件函数定义在methods中,计算属性定义在computed中…,实际上我们想实现一个功能会把我们代码拆分写到不同的模块中,这样我们很难区分,哪个数据和哪个逻

2020-09-21 12:12:52 1529

原创 electron实现桌面应用

1. 简介官网Electron是由GitHub开发,使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序Electron 可以让你使用纯 JavaScript 调用丰富的原生 APIs 来创造桌面应用。你可以把它看作是专注于桌面应用在PC端混合app开发中,nwjs和electron都是可选的方案,它们都是基于Chromium和Node的结合体, 而electron相对而言是更好的选择方案,它的社区相对比较活跃,bug比较少,文档先对利索简洁。electron 相对来说比

2020-08-21 16:05:24 4668

原创 坤坤老师告诉同学们什么是观察者模式

观察者模式什么是观察者模式?观察者模式即一个对象被多个对象所依赖,当被依赖的对象发生更新时,会自动通知所有依赖的对象。例如:微博上的坤坤老师,当坤坤老师在微博发文章时,会自动通知所有的粉丝。坤坤:坤坤老师发微博了,赶紧来围观啊!坤坤老师即为目标对象,所有的粉丝即为依赖对象。代码实现:首先我们定义一个kk老师的类(目标类)// 目标类class Kk { constructor () { // 存储所有的粉丝(粉丝:观察者们) this.fans = [] }

2020-07-26 20:58:19 1525 1

原创 面试必备-面试技巧

猴哥,今天和朋友们来聊聊关于面试中的一些技巧,希望能够对正在找工作的朋友们起到一丝作用,同时也会接受朋友们的提出的宝贵意见进行改进。1. 同学们在找工作投简历的时候,会看见公司要求的技能,此时一定及时告知hr,要求的技能,你会哪些,哪些没有用到过。从而防止,你去面试,结果问了你一堆你根本没接触过的技能,或者,到了面试的时候,面试官直接告诉你,不好意思,我们的岗位和您不匹配,避免白跑一趟。2. 面试的时候,最好自己携带简历,虽然大部分公司会提供打印简历,但是有的公司hr可能会嫌麻烦或者一些其他原因,让候选

2020-07-18 11:04:55 1540 2

原创 面试题之利用call或者apply实现bind功能

需求利用call或者apply实现bind功能分析我们这里举例使用apply来实现bind功能既然最终实现的是bind功能,那就要先分析bind都具有什么功能根据函数生成新的函数改变期this指向传递第二个参数数组实现步骤1. 定义newBind方法Function.prototype.newBind = function (obj) { return function () { }}2. 使用该方法// 改变fn函数this指向objfunctio

2020-06-01 19:26:07 480

原创 百度AI人像动漫化

人像动漫化课程知识小程序选择图片图片转为base64格式百度AI鉴权百度AI人像动漫化接口创建小程序创建home页面删除index和logs页面路劲和页面配置小程序外观"navigationBarBackgroundColor": "#FF83FA","navigationBarTitleText": "动漫相机","disableScroll": true页面基本布局wxml<view class="home"> <image

2020-05-26 20:13:08 2454 1

原创 react面试题整理

react面试宝典为什么在react脚手架中的js中能够写类似html的格式代码?因为脚手架已经帮我们集成配置了,通过babel中的@babel-preset-react来进行编译的在react中关于事件函数是否传递参数定义的方式不同?事件函数没有传递参数:直接定义事件函数,并将事件函数交给onClickadd = () => { console.log(this) ...

2020-05-03 17:54:51 2219

原创 mockJs企业级应用工具,实现前后端分离

mockJsmockJs生成随机数据语法mockJs拦截请求vue结合mockJs实现新闻管理案例什么是mockJs文档生成随机数据,拦截 Ajax 请求为什么使用mockJs在工作开发中,如果后端接口还未开发完成,难道我们就只能写静态页面了吗?所以前端为了不影响工作效率,我们自己手动模拟后端接口返回随机数据。采用json数据模拟,生成数据比较繁琐,也比较有局限性,没办法达...

2020-04-02 19:20:03 490

原创 nprogress的使用

进度条添加安装nprogress,ui界面依赖安装依赖,搜索nprogress进行安装即可在main中导入进度条组件//导入进度条插件import NProgress from ‘nprogress’//导入进度条样式import ‘nprogress/nprogress.css’利用NProgress.start()显示进度条NProgress.start()利用NProgr...

2020-02-16 10:50:29 3330 1

原创 快速上手uni-app,基础知识,基本使用

####uni-app的基本使用视频链接:uni-app配套视频知识介绍:环境搭建页面外观配置数据绑定uni-app的生命周期组件的使用uni-app中样式学习在uni-app中使用字体图标和开启scss条件注释跨端兼容uni中的事件导航跳转组件创建和通讯,及组件的生命周期uni-app中使用uni-ui库uni-app介绍 官方网页uni-app 是一个使用 ...

2019-12-26 15:40:56 16848

原创 javascript中小白必会的方法

​01-解构JavaScript参数解构是一种从对象中提取属性的常用方法。const obj = { name: 'Joe', food: 'cake'}const { name, food } = obj;console.log(name, food);// 'Joe' 'cake'如果需要以其他名称来提取属性,可以使用以下格式来指定它们。const obj = { ...

2019-12-15 09:37:40 789

原创 wepy的基本安装和使用

wepy的基本使用使用1、WePY 简介和安装001 - 什么是 WePYWePY 是腾讯官方出品的一个小程序快速开发框架,对原生小程序的开发模式进行了再次封装wepy官网002 - 为什么使用 WePYWePY 相比于原生小程序开发,拥有众多的开发特性和优化方案,开发风格接近于 Vue.js,支持很多vue中的语法特性;通过 polyfill 让小程序完美支持 Prom...

2019-11-15 09:45:59 4100

原创 prettier格式化配置方法

prettier格式化配置{ /* prettier的配置 */ "prettier.printWidth": 100, // 超过最大值换行 "prettier.tabWidth": 4, // 缩进字节数 "prettier.useTabs": false, // 缩进不使用tab,使用空格 "prettier.semi": true, // 句尾添...

2019-07-31 21:39:26 6149

原创 vscode启动cpu占100%的解决方案

我们在使用vscode的时候,如果该项目包含node_modules这个包的时候,可能会导致vscode特别卡,cpu占100%,下面我在这提供两种解决该问题的方法第一种在编辑器中找到文件》首选项》设置然后搜索search.follow,将“控制是否在搜索中跟踪符号链接”的√去掉第二种还是在编辑器中找到文件》首选项》设置然后搜索exclude,在Files:exclude下面有一个...

2019-07-12 20:35:52 3669 2

原创 vue脚手架通过ui界面方式创建项目

我们vue脚手架提供了图形界面操作项目,比之前通过命令操作的形式更加简单,下面我就来总结一下图形界面创建项目的基本步骤1、首先保证全局安装@vue/cli工具 ,没有自行下载cnpm i @vue/cli -g2、推荐下载yarn包管理器cnpm i yarn -g3、接下来我们就可以在自己的电脑里创建项目,找到电脑某个位置,在此文件夹按住shift同时右键,在此处打开cmd命令窗口...

2019-06-13 22:10:51 6713 4

原创 css3选择器使用总结

01-认识css3什么是css3?CSS3是CSS2的“进化”版本,在CSS2基础上,增强或新增了许多特性,弥补了CSS2的众多不足之处,使得 Web开发变得更为高效和便捷css3现状浏览器支持程度差,需要添加私有前缀移动端支持优于PC端不断改进中应用相对广泛如何对待css3兼容问题?渐进增强(Progressive Enhancement):一开始就针对低版本...

2019-05-11 09:56:23 728

原创 h5新增标签属性以及api的总结

什么是html51.H5并不是新的语言,而是html语言的第五次重大修改–版本2.支持:所有的主流浏览器都支持h5.(chrome,firefox,safari。。。)。IE9及以上支持h5(有选择的支持,并不会全部支持),但是ie8及以下不支持h5.3.改变了用户与文档的交互方式:多媒体:video audio canvas4.增加了其它的新特性:语义特性,本地存储特性,网页多媒体,以...

2019-04-29 14:32:32 557 1

原创 node中mysql的增删改查

查询数据库某表所有数据select * from heros根据条件查询数据 where 后面可以跟条件 ?占位,最终传递真实idselect * from heros where id=?为数据库某表增加数据 ? 代表占位,最终要传要增加的数据insert into heros set ?更新数据 第一个?占位 更新的数据 第二个占位 idupdate heros set ...

2019-04-25 15:08:28 331

原创 vue-cli3.0切换环境对应的api接口

我们要完成通过不同命令切换不同环境对应的请求接口的urlnpm run dev // 开发环境npm run prod // 生产环境npm run test // 测试环境首先我们将package.json中添加配置不同命令"scripts": { "prod": "vue-cli-service serve --mode production", "dev"...

2019-04-21 11:45:32 2652

原创 小程序代码示例整理

以下是分享了一部分小程序的代码示例,希望能够帮助到你们,抓紧收藏吧微信小程序知乎日报https://github.com/myronliu347/wechat-app-zhihudaily微信小程序购物车案例https://github.com/SeptemberMaples/wechat-weapp-demo微信小程序–聊天室功能本项目使用 Gorilla WebSocket 作...

2019-04-19 16:30:30 3955

原创 vue中keepAlive组件的作用及使用方式

在面试的时候,很多面试官再问vue的时候可能就会提一嘴,你知道keep-alive有什么作用吗?keep-alive是vue内置的一个组件,而这个组件的作用就是能够缓存不活动的组件,我们能够知道,一般情况下,组件进行切换的时候,默认会进行销毁,如果有需求,某个组件切换后不进行销毁,而是保存之前的状态,那么就可以利用keep-alive来实现我这里利用脚手架创建项目后会生成home和about...

2019-04-18 15:22:42 37402 19

原创 react生命周期函数详解

react生命周期函数图详解根据上图我们来说一下react中的生命周期函数react中的生命周期函数主要分为三个阶段创建、更新、销毁创建阶段getDefaultProps()此阶段为组件初始化,定义propTypes或者defaultPropsgetInitialState()与getDefaultProps的区别在于前者设置默认的 props,后者设置初始的state在使...

2019-04-16 22:19:46 743

原创 详解es6中Proxy代理对象的作用

在es6中新添加了Proxy,那么它有什么作用啊?Proxy本意为代理,而es6中的Proxy也就是代理对象,那么代理对象感觉听起来很模糊,在这里就解释一下Proxy代理对象的作用。Proxy的主要作用就是可以对 对象进行拦截,以及对数据读取、修改的过滤保护。我们先利用es3的方式来实现一个需求,现有一数据,内部有name、age、sex三个属性,name、age属性可读可写,但是sex属性只...

2019-04-14 21:56:54 1769 1

原创 react脚手架(create-react-app)配置antd中css按需加载的坑

今天没事,准备利用react写一个后台管理系统,但是在刚创建项目引入antd的时候,就遇见了一个神坑!!!再说坑之前,咱们先来说一下如何利用create-react-app搭建项目和引入antd想利用create-react-app搭建基本项目,首先全局应该有这个工具cnpm i create-react-app -g在全局安装完之后,就可以利用create-react-app初始化项目...

2019-04-12 19:50:05 1810

原创 微信js-sdk使用步骤总结

微信公众号js-sdk使用步骤总结1. 域名绑定先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。可填写三个域名或路径(例:wx.qq.com或wx.qq.com/mp),需使用字母、数字及“-”的组合,不支持IP地址、端口号及短链域名。填写的域名须通过ICP备案的验证。将文件MP_verify_UhBvKrxosbLJmeos.txt(点击下载)上传至填写...

2019-04-08 22:19:06 968

原创 vue面试题总结-2020

小编在这里总结一些vue常见的面试题,希望能够帮助到你们的面试你对vue中mvvm的模式设计有什么感想?mvvm设计模式采用的双向绑定,当view发生变化,model会跟着变化,model发生变化,view也会同步,这样的话,我们就可以更多的关注逻辑,从而减少dom的操作,代码的耦合性也更好vue中利用索引修改数组的时候,页面会跟着同步吗?利用索引修改数组的时候,页面不会进行同步,此时应该...

2019-04-02 14:03:28 6476 7

原创 vue-cli3.0脚手架配置步骤

脚手架3.0配置步骤1、在全局安装脚手架cnpm i @vue/cli -g2、如果没有yarn,建议安装yarncnpm i yarn -g3、创建项目vue create 项目名字如果是第一次初始化项目,脚手架会提示你,使用npm淘宝镜像下载,这样会比yarn快,你可以n掉,接下来会进入选择配置默认配置脚手架默认配置了一下简单的配置然后直接安装自定义配置按空...

2019-03-29 20:07:00 2325

原创 什么是深拷贝和浅拷贝以及利用递归实现深拷贝

因为有面试的小伙伴问到什么是深拷贝和浅拷贝,以及怎么用代码实现?我们先来说一下浅拷贝:var a = 1;var b = a;console.log(b)// 输出结果为1这就是浅拷贝但是浅拷贝会存在一个问题,我们可以通过代码来看一下var obj = { a:1};var b = obj;console.log(b)我们上面通过浅拷贝拷贝了一个引用类型,如果我们去...

2019-03-24 15:54:35 993 1

原创 js打乱数组的几种方法

今天有小伙伴问到,数组打乱都有什么方法,那么打乱数组有太多的方法了,我这里简单的说三种利用sort排序方式打乱数组var arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]var randomNumber = function(){ // randomNumber(a,b) 返回的值大于 0 ,则 b 在 a 的前边...

2019-03-03 09:40:32 13920

转载 es6属性基础教学,30分钟包会

title: es6属性基础教学,30分钟包会date: 2017-04-21 22:51:15tags:es6js摘要:看完此文包会es6,不会我吃翔ES6基础智商划重点在实际开发中,ES6已经非常普及了。掌握ES6的知识变成了一种必须。尽管我们在使用时仍然需要经过babel编译。ES6彻底改变了前端的编码风格,可以说对于前端的影响非常巨大。值得高兴的是,如果你熟悉ES...

2019-03-02 09:47:46 389

原创 vue定义全局单文件组件通过use形式使用组件

我们这一次来玩一下vue中如何来定义一个全局的组件,并且通过Vue.use()来使用首先我们应该在我们项目里面创建一个组件alert.vue,你们在玩的时候就随意啦想叫什么就叫什么,别叫床就行如图alert中的代码为&amp;amp;lt;template&amp;amp;gt; // 定义了简单的结构 &amp;amp;lt;div class=&amp;quot;box&amp;quot; v-if=&amp;quot;

2019-03-01 22:18:50 1432

空空如也

空空如也

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

TA关注的人

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