- 博客(29)
- 收藏
- 关注
原创 Pinia全新一代状态管理工具Pinia-Vue3全家桶
自2022年2月7日前端Vue3成为默认版后,Vuex的状态管理地位受收到了Pinia 的挑战。我相信当你使用过Pinia之后,就会果断的抛弃Vuex的。因为Pinia确实太方便和简单了。
2022-08-15 15:59:45
1934
1
原创 单线程、事件循环、宏任务微任务、Promise函数是什么?
单线程、事件循环、宏任务微任务、Promise函数,想要掌握标题知识那么我们必须要知道什么是同步,什么是异步,包括process.nextTick与setImmediate方法,配合学习才能真正的掌握并且熟练运用,学完之后尽量自己举一反三输出结果...............
2022-08-13 10:26:03
470
原创 数据类型,栈内存、堆内存
我把它总结为:USONB(是不是很nice哈哈)Undefined、String、Symbol、Object、Null、Number、Boolean、Bigint
2022-08-12 16:05:22
494
原创 对象拷贝,深拷贝、浅拷贝、JSON拷贝
总结:深拷贝:拷贝的是内容,相当于开辟了一个新的内容空间,将原数组美容重新复制,无论怎么修改都不会改变原内容,比如基础数据类型都是深拷贝浅拷贝:拷贝的只是地址,内容被修改,改的是地址,原数组也会跟着改变,比如Object Array Function 都是浅拷贝.........
2022-08-12 15:37:40
1113
原创 call,apply,bind区别及使用场景?call继承
常用于:全局函数调用call、对象方法调用call、基于call的继承、多重继承、call的引用,防抖call(): 第一个参数是要改变的this的指向,第二个参数是调用这个函数时所传的参数,fn.call(obj,1,2)。apply():第一个参数是要改变的this的指向,第二个参数是一个数组fn.apply(obj,[1,2])bind():只有一个参数,为改变this的指向,返回一个新函数需要重新调用let f = fn.bind(obj,1,2)f()......
2022-08-10 17:16:58
325
原创 this关键字做了什么及使用场景?
总结:this就是指当前函数的运行环境。由于js支持运行环境的动态切换,所以this的指向是动态的,所谓的运行环境其实就是对象。可以理解成,this函数运行时所在的那个对象
2022-08-10 15:44:24
195
原创 什么是原型、原型链?怎么通过原型继承?
什么是原型、原型链?原型:实例对象上的私有属性__proto_指向的是构造函数的prototype,简称原型,原型链:构造函数的原型也有原型,层层往上直到null,形成了链式结构就称作原型链。当访问一个对象上的某一个属性时,先从对象自身属性中查找,找不到就去它的原型上找,原型上找不到就去原型的原型找,层层往上直到null。......
2022-08-10 14:40:30
349
原创 什么是垃圾回收、内存泄漏,导致内存泄漏的场景?
垃圾回收,内存泄漏高频五颗星垃圾回收是JavaScript具有自动垃圾回收机制,会自动找出不再继续使用的变量,释放其占用内存,垃圾回收器会按照固定的时间周期性的执行,可以用标记删除、引用计数来标识没有用的变量.........
2022-08-08 15:16:32
213
原创 什么是闭包,闭包的使用场景?
闭包(closure):函数嵌套函数,内部的函数就是闭包,正常情况下,函数执行完成,内部变量会销毁(销毁:释放内存空间),内部函数没有执行完成,外部函数变量不会被销毁.........
2022-08-08 15:05:47
1581
原创 普通函数和箭头函数的区别
普通函数和箭头函数得区别this指向不同普通函数,谁调用这个函数,this指向谁箭头函数,在哪里定义函数,this指向谁
2022-08-08 14:14:26
112
原创 var、let、const的区别及使用场景
虽然很简单但是往往简单的面试题都需要答得更好,可以延深到下一个问题,主动去把延深得问题答出来,作为自己得加分项?总结var:var定义得变量没有函数作用域概念,在函数外定义是全局变量,在函数内定义是局部变量,拥有变量提升,可以重复声明,后面会将前面得覆盖let:定义的变量有块级作用域概念,所声明得变量只在let命令所在得代码块有效,没有变量提升,不能够重复声明const:定义常量、基本上和let一样,是块级作用域,没有变量提升,不能够重复声明,可以修改属性,但是不可以改成新的对象 ,..
2022-08-07 11:45:08
422
原创 Promise的原理、实例方法、原型/静态方法
传统异步编程的解决方案是使用回调函数、但是这样会导致嵌套过深,产生回调地狱(callback hell)、那么Promise异步编程就是另一种解决方案而且更加强大三个状态:等待/待定(pending)成功/以兑现(fulfilled)失败/已拒绝(rejected)原理:new Promise((resolve,reject) => {}),参数是一个回调函数,回调函数中的这两个参数也都是回调函数等待状态的 Promise 对象要么会通过一个值被...
2022-08-03 19:53:24
323
原创 微信LV项目(全流程)
一、创建页面在app.json配置lv-list页面、和lv-like页面,header头部组件、menu喜欢的包包组件
2022-07-29 18:05:11
2228
原创 小程序全局数据共享MobX
全局数据共享(又叫做:状态管理)是为了解决组件之间数据共享的问题。开发中常用的全局数据共享方案有:Vuex、Redux、MobX等。小程序中的全局数据共享方案在小程序中,可使用mobx-miniprogram配合mobx-miniprogram-bindings 实现全局数据共享mobx-miniprogram用来创建Store 实例对象mobx-miniprogram-bindings 用来把Store中的共享数据或方法,绑定到组件或页面中使用......
2022-07-29 08:17:11
523
1
原创 前端安全XSS,CSRF
XSS(Cross-site scripting)跨站脚本攻击:用户在页面渲染数据时注入可运行的恶意脚本目的是盗用cookie,获取敏感信息,得到更高权限
2022-07-29 07:12:55
792
原创 点单/选择日期功能(无样式)
技术栈及三方库Vite+Vue3+TS+Pinia+Sass+Pug+Axios安装依赖构建Vite框架# npm 6.x npm create vite@latest my-vue-app --template vue-ts# npm 7+, extra double-dash is needed: npm create vite@latest my-vue-app -- --template vue-ts安装pinia axios sass pugnpm i vue-route...
2022-07-25 19:58:13
150
原创 BAT常见网样式初始化
为什么要重置样式:在不同的浏览器中,默认样式会有所不同。css重置样式主要是为了让各个浏览器的CSS样式有一个统一的基准。我们可以通过重置样式,把浏览器的默认样式全部去掉,设置一个统一的标准。这样,我们的网页页面在不同的浏览器下显示的效果就是一样的了。以下样式记得保存...
2022-07-22 19:40:04
172
原创 什么是防抖和节流?有什么区别?如何实现及使用场景?
防抖和节流常见面试题、有的面试官甚至让手写防抖和节流?其重要性就不必多说了。一句话概括就是:通过控制事件触发频率达到优化函数执行效率的效果
2022-07-22 12:34:30
344
原创 Vue2生命周期8个钩子函数
beforeCreate( 创建前 )在实例初始化之后,数据观测和事件配置之前被调用,此时组件的选项对象还未创建,el 和 data 并未初始化,因此无法访问methods, data, computed等上的方法和数据。created ( 创建后 )实例已经创建完成之后被调用,在这一步,实例已完成以下配置:数据观测、属性和方法的运算,watch/event事件回调,完成了data 数据的初始化,el没有。 然而,挂在阶段还没有开始, $el属性目前不可见,这个时候可以改变data中的数据,并且.
2022-07-21 22:37:47
988
原创 数组的方法和ES5、ES6新增数组方法的语法,作用,返回值和注意事项
数组的方法在项目逻辑中无处不在、因为后端传过来数据不一定可以直接用那么就需要用数组的方法来进行转换了、还有其它地方都能用到就不一一举例了,总之很重要,很重要,要把这些方法烂熟于心,能很好的提升工作效率,比别人早下班。以下是保姆及的方法、有漏掉的或者错误的地方大家可以在评论区指出来..................
2022-07-18 18:50:26
745
原创 Vue路由的hash模式与history模式原理区别及优缺点
今天说说Vue路由的hash模式与history模式的区别,这个也是面试常问的问题。总结传统的路由指的是:当用户访问一个url时,对应的服务器会接收这个请求,然后解析url中的路径,从而执行对应的处理逻辑。这样就完成了一次路由分发。前端路由是不涉及服务器的,是前端利用hash或者HTML5的关于Vue路由、一个单页面应用可以做到多路由跳转并按需加载页面代码,这样的方式就很神奇,以往的做法都是通过锚点来定位对应的页面代码,而这种古老的方式存在最大的缺陷就是首屏加载缓慢,一次性加载了所有页面代码。...
2022-07-15 12:16:23
4122
原创 JS中some和every的区别和用法
some和every是数组中迭代的方法总结:some:循环遍历找到符合条件的值,一旦找到则不会继续迭代下去。every:循环遍历是否符合条件,一旦有一个不符合条件,则不会继续迭代下去。相同点:some和every都有三个参数,即item→当前项,index→当前的索引值,array→数组本身;都可以遍历数组不同点:some相当于逻辑关系中的或,只要有一个参数满足条件,则中断遍历,返回true,如果遍历完所有参数,没有找到符合的项,即返回false;every相当于关系中的且,只有所有关系都满..
2022-07-12 13:37:58
2911
原创 单页应用的优缺点,单页应用首屏加载优化、小程序首次启动速度优化
单页应用的优缺点单页应用,简称(Single Page Application)是指整个应用只一个HTML页面,所有的功能和交互都在这个页面完成,利用JavaScript动态改变HTML内容。
2022-07-11 18:40:55
664
原创 Vue父子组件生命周期的先后顺序
Vue父子组件生命周期的先后顺序组件的调用顺序是先父后子,渲染完成的顺序是先子后父。组件的销毁操作是先父后子,销毁完成的顺序是先子后父初次渲染完成触发的声明周期挂载/加载/渲染阶段子组件更新阶段父组件更新阶段销毁阶段............
2022-07-11 11:05:35
2820
原创 双栏布局,自适应双列布局,CSS左侧固定,右侧自适应布局的方法、BFC是什么
双栏布局,自适应双列布局,CSS左侧固定,右侧自适应布局的方法左侧内容固定,右侧自动适应屏幕布局是开发中常见的布局,一般常见于后台管理系统等:左侧展示tab栏,右侧展示管理的内容。以下是七种方法:左侧浮动 + 右侧BFC左侧浮动 + 右侧margin左侧固定 + 右侧margin左侧固定 + 父级padding先两个在一行 + 右侧calc弹性布局网格布局BFC是什么,BFC触发的条件,BFC的使用?首先说说BFC(Block Formatting Context)是什么?......
2022-07-10 10:56:04
264
原创 判断一个对象为空对象的五种方法
对象转换成字符串,再判断是否等于"{}"for in 循环Object.keys()方法Object.getOwnPropertyNames()方法jQuery中的isEmptyObject()方法
2022-07-07 13:13:37
18537
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人