自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 收藏
  • 关注

原创 手写vue响应式

【代码】手写vue响应式。

2023-11-21 22:21:44 252

原创 手写call方法

【代码】手写call方法。

2023-09-24 05:06:34 268

原创 js的继承

将父类的实例作为子类的原型。

2023-09-23 02:04:49 246

原创 v-for中key的作用

v-for在渲染的过程中采用就地复用的策略,列表修改数据的时候会根据key来判断某一项是否需要重新渲染,如果该项没有改变则继续复用。我们通常用数组的index来作为key但这其实是一种不推荐的方法。由于jason的插入导致数组的index发生变化,key和数据的一一对应关系也被破坏,那么虚拟dom的diff算法就会以为key和数据不再对应的数据是需要重新渲染的,如此一来就会增加没必要的内存消耗。如果我们直接在数组后面push一条name是john的数据进去,这样用index作为key是没问题的。

2023-09-15 21:07:12 113

原创 javascript 事件循环机制

由于js是单线程,所以需要事件循环机制来处理同步任务和异步任务之间的执行逻辑。那么Js为什么选择单线程呢?这是因为Js主要服务于浏览器中,用于控制浏览器的dom元素,试想下如果js是多线程那么会出现多个线程同时操作一个Dom元素的情况,显然这样是不可取的。

2023-09-14 19:32:04 147

原创 千变万化的Promise

Promise对象代表一个异步操作,有三种状态:pedding(进行中)、fulfilled(已成功)、rejected(已失败)。resovle函数的作用是将Promise对象的状态从pedding变为fulfilled,即从未完成变为成功。reject函数的作用是,将Promise对象的状态从未完成变为失败,在异步操作失败时调用,并将异步操作作为参数传递出去。所谓的Promise,简单来说就是一个容器,里面保存这某个未来才会结束的事件(通常是异步操作)的结果。

2023-09-14 12:57:59 145

原创 原型链(一定要搞懂啊!!!>-<)

javascript中每一个对象都有一个“隐式原型”:__proto__;每一个函数都有一个“显示原型”:prototype;对象的隐式原型指向了它的构造函数的显示原型上。

2023-09-12 16:46:05 103

原创 前端八股文之“闭包”

一句话概括闭包:能够访问函数内部变量的函数与这个变量的组合构成了闭包结构。如下代码如代码所示,fuc2和父级变量num构成了一个闭包环境。

2023-09-07 13:17:23 300

原创 vue动态绑定class

在vue框架开发中,有时候我们需要对元素的样式进行动态控制,比如tab按钮的切换。我们可以通过vue指令v-bind对元素的class进行动态控制。控制方式有对象和数组两种。

2023-02-28 10:21:04 2046

原创 js 中 .? 和 ??的用法

他叫做“可选链接操作符”,他的作用是可以省去判断对象属性是否存在就可直接调用。一般情况下当我们要调用对象的属性时,如果对象中没有这个属性,那么浏览器编译时就会报错。获取属性值,则浏览器不会报错。在js中叫做(空值合并操作符),他的作用是用于判断一个值是否为null或undefined,如果跟在他前面的值为null或undefined则取跟在他后面的值,否则就取他前面的值。

2023-02-17 17:19:01 3256

原创 javascript的继承

【代码】javascript的继承。

2022-11-02 18:19:26 121

原创 BFC是什么

bfc

2022-10-31 19:01:03 371

原创 闭包是什么

闭包

2022-10-16 05:25:55 191

原创 作用域slot的理解与应用

作用域slot可以简单理解为可以传递参数的slot;通过在子组件slot标签上绑定数据,达到在父组件获取子组件信息的作用。

2022-09-26 21:40:40 369 1

原创 VUE slot 的应用

作用slot 意为“插槽”,其作用为子组件预约一个html空间,由调用他的父组件来实现这个空间的具体显示内容。父组件中决定要插入到子组件中的内容,而子组件自行决定插槽的位置。类型1.匿名slot2.具名slot3.作用域slot用法1.匿名slot首先在子组件中需要父组件来确定显示内容的位置定义一个slot。 <template> <div> <slot></slot> <h1>我是子組件</h1

2021-04-30 16:10:04 321 4

原创 VUE--Mixins的理解

个人粗浅的理解仅当学习笔记。Mixins相当于一个VUE组件拥有data、methods、生命周期等。作用:Mixins主要用来把VUE项目中一些公用的方法抽取出来以便复用。用法:1、在项目中创建Mixins文件夹,然后分模块创建自己的Mixins文件,并在该文件中编写公用的方法。2、引入组件中,添加Mixins,然后就可以跟调用自身方法一样去调用mixins中的方法。注意事项:1、当Mixins中的方法与被引入的组件有重名时,被引入组件的方法会自动覆盖...

2021-04-28 11:19:51 327

原创 JavaScript中this最简单的理解

JavaScript中this的指向跟定义它的地方无关,只跟调用它的上下文环境相关(如果存在多级调用,那么它的指向就是离他最近的那个对象)

2020-07-23 16:50:19 169

原创 防止请求频率太高(防抖)的土方法

前端开发会遇到一种情况,用户快速点击某个按钮,然后再前一个请求还未结束的情况下下一个请求又开始了,这样就会导致各种问题,比如参数还未处理到位,或者响应数据为空等等。 来,朋友们,今天就来用最土的方法解决一下此问题。 先说说鄙人遇到的问题吧,如下图,当用户点击人员名称时发送请求,查询该员工数据,然后显示在表格中由于 人员名称需要请求获取,因此在请求该员工数据之前,还要一段时间来获取人员名称,如果用户点击过快,会出现人员名称不匹配或为空的情况,因此需要限制用户的请求次数。...

2020-05-28 17:12:58 891

原创 vue项目引入echart图表宽度无法设置百分比问题

最简单的方法把引入组件的v-show改为v-if

2020-03-10 23:28:01 1237

原创 vuex之store拆分即多模块状态管理(modules)篇

原文:https://blog.csdn.net/wang839305939/article/details/73398585

2019-10-10 11:11:38 505

原创 vue-axios interceptors(拦截器)实际应用

原文:https://www.jianshu.com/p/ff8541e0976a

2019-10-09 16:03:09 763

原创 vue-cli3根据不同环境配置axios的baseUrl

浏览:https://blog.csdn.net/Dj_Fairy/article/details/88928432

2019-10-09 15:34:12 950

原创 vue-cli3 移动端适配方案

需要用到两个插件:1、flexible 此插件的作用是根据屏幕大小自动修改根元素的fontsize,首先需要先安装此插件,然后在main.js中引入“import"lib-flexible"”由于此插件会自动为页面生成<metaname="viewport"content="width=device-width,initial-scale=1.0">所以千万要...

2019-10-09 14:58:53 748

原创 git提交流程

git pull origin remoteBranch(develop ) 从远程develop分支拉取代码到本地git addgit commit -m ...git push origin localBranch(dev):remoteBranch(develop) 把本地dev分支的代码推送到远程develop分支上。...

2019-08-05 14:42:03 166

原创 js async/await 用法简介

参考:https://segmentfault.com/a/1190000007535316

2019-07-31 18:43:52 896

转载 全局安装和本地安装

命令中,全局安装(global)和本地安装(local)方式的区别为带参数-g和不带参数-g。具体区别:1.安装位置:npm install moduleName ,则是将模块下载到当前命令行所在目录。npm install moduleName -g ,模块将被下载安装到全局目录中,即Node的安装目录下的node_modules下2.调用方式:在代码中,本地安装可以直接通过requ...

2019-07-27 21:29:23 974

原创 Vue组件传参

父子传参通过在子组件中定义props的参数名,然后在父组件中给定义的参数名传值,以达到父子传参的目的。1、子组件在props中定义参数名。 props:["title"]2、父组件给定义参数名赋值。 <myPageSon1 title="nihao" > Are you ok ? </myPageSon1>子父传参在父组件中...

2019-07-21 20:39:36 205

原创 React-redux基本使用

redux在React中的作用类似于vue的vuex用作全局状态管理。其基本的使用流程如下:下载redux 在项目中新建一个store文件夹,其中包括了:state.js、reducer.js、actionCreator.js。 在store.js中使用redux的createStore(reducer)来创建store。注意:必须要关联相应的reducer作为参数 import {c...

2019-07-13 20:24:10 146

原创 React组件传值

React组件之间传值与Vuel类似,分为父-子传值和子-父传值。一、父子传值通过组件的props属性,来达到父组件传值给子组件的目的,二、子父传值在父组件中定义方法,并通过props传递给子组件,子组件通过this.props.funName(data)激活父组件方法,传递“data”值。注意:在父组件通过Props传递自定义方法时一定要用bind(this);绑定this。...

2019-07-12 18:22:47 183

原创 jQuery在html元素中保存数据的 data()方法

jq的attr()方法添加的属性只能是String类型,如果你需要再html元素中保存其他类型的数据,就需要使用data()这个方法。data()方法不能获通过attr()存储的值,它的使用方法如下:设置值:$("element").data("val",obj);获取值:$("element").data("val");...

2019-06-18 14:25:41 1334

原创 ES6的IE兼容问题

习惯用ES6的字符模板来进行数据的渲染,结果IE11浏览器报错,提示字符模板的语句“语法错误”。之后百度搜索解决方案,现总结如下,方便以后避坑。1、项目中加入browser.min.js文件(百度搜索),引入。2、在JS文件标签中加入type="text/babel" 例如:<script type="text/babel" src="js/index.js"></sc...

2019-05-23 10:28:21 5127

转载 layer相关方法

1、访问父页面元素值varparentId=parent.$("#id").val();//访问父页面元素值2、访问父页面方法varparentMethodValue=parent.getMethodValue();//访问父页面方法3、如何关闭弹出的子页面窗口varindex=parent.layer.getFrameIndex(window....

2019-04-18 11:24:45 230

原创 JS数组相关方法总结

一、concat()1、concat(值)给数组尾部添加一个元素,兵返回一个新数组。2、concat(值1、值2、值3....)给数组尾部添加多个元素,并返回一个新数组。 cv03、concat(数组)将调用该方法的数组与添加的数组合并形成新数组,并且返回。4、concat(数组1,数组2,数组3)连接所有数组,并返回这个新数组。Z二、splice()1、s...

2019-02-24 19:39:15 509

原创 伪数组转换为数组的方法

一、创建一个新数组,遍历这个伪数组,并将其每一项添加到新数组中。 var ul=document.getElementsByTagName("li"); var newArr=[]; for(var i=0;i&lt;ul.length;i++){ newArr.push(ul[i]); } console.log(newArr)二、借用...

2019-01-25 14:30:39 2622 1

原创 js的组合继承

 组合式继承是最js中最常用的继承方法,它融合了“原型继承”和“借用构造函数继承”的优点,使它拥有了这两种继承所具备的功能:1、子类可以为父类的构造函数传参。2、子类修改从父类继承的引用类型属性,不会影响到其他子类。具体实现方法如下: //构造方法 function Animal (name,age){ this.name=name; this.a...

2019-01-23 08:29:18 456

转载 理解虚拟Dom

什么是虚拟DOM一、前言虚拟DOM概念随着react的诞生而诞生,由facebook提出,其卓越的性能很快得到广大开发者的认可;继react之后vue2.0也在其核心引入了虚拟DOM的概念,本文将以vue2.0使用的snabbdom入手,来介绍虚拟DOM的主要实现原理。二、虚拟DOM在开始介绍snabbdom之前我们想来想两个问题,(1)什么是虚拟DOM?vdom可以看作是...

2019-01-19 08:47:06 438

转载 AMD和CMD的区别

他们两者的共同点就是都是一种框架在推广的过程中对模块定义的规范产出;而且他们都是异步加载模块。AMD即Asynchronous Module Definition,翻译过来就是异步模块化定义,是一个模块化开发的规范。此处是规范链接 那么AMD是怎么弄出来的呢?其实AMD是在RequireJS之后才出来的,是大名鼎鼎的RequireJS产出了这一套模块化开发的概念。那么谈AMD就必须先谈Requ...

2019-01-09 08:41:41 3375

转载 面向对象与面向过程的区别

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。 面向过程优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发...

2019-01-09 08:21:24 440

原创 node遍历文件

var fs=require("fs");var path=require("path")var filePath=path.resolve("E:\\KwDownload\\") fileDisplay(filePath)function fileDisplay(filePath) { fs.readdir(filePath,function(err,files){ ...

2019-01-08 08:53:15 268

原创 sass和less的异同

相同点sass和less都是Css的预处理语言,他们引入了mixins,参数,嵌套规则,运算,颜色,名字空间,作用域,JavaScript赋值等 加快了css开发效率,当然这两者都可以配合gulp和webpack等前端构建工具使用。差异1、less定义变量用“@”,saxx用“$”/*less*/@width:100px;.box{ width:@width;}...

2019-01-07 08:32:53 794

空空如也

空空如也

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

TA关注的人

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