- 博客(24)
- 收藏
- 关注
原创 手写bind函数
如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。call方法可以代替另一个对象调用一个方法 将一个函数的对象上下文从开始的上下文改变为由thisObj指定的新对象。2、apply 、 call 、bind 三者第一个参数都是this要指向的对象,也就是想指定的上下文;1、apply 、 call 、bind 三者都是用来改变函数的this对象的指向的;4、bind 是返回对应函数,便于稍后调用;
2025-01-03 16:28:12
122
原创 Event Loop
Event Loop是一个事件循环,是指浏览器或Node的一种解决javaScript单线程运行时不会阻塞的一种机制,也就是我们经常使用异步的原理(javascript是单线程的)比如console—》执行微任务(promise、process.nextTick) —》执行宏任务 (settimeout、setInterval)会先执行(主线程)同步代码–》 然后执行微任务(promise) —》执行宏任务 (settimeout)会先执行(主线程)同步代码–》异步代码 ( 微任务—>执行宏任务 )—
2025-01-02 11:11:57
278
原创 函数节流与防抖(闭包的使用场景)
防抖动和节流本质是不一样的。防抖动是将多次执行变为最后一次执行,节流(只执行第一次)是将多次执行变成每隔一段时间执行。思路:每次触发事件时都判断当前是否有等待执行的延时函数//防抖代码ajax(...);},5000)函数防抖使用场景表单重复提交。
2025-01-01 11:31:04
308
原创 js闭包理解与应用
之所以有闭包是因为变量的作用域导致的 就是说我们在查找某个变量的时候 会先在当前作用域来找 如果找不到 会往外层去找 直至全局作用域。由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成"定义在一个函数内部的函数"。用途: 一是可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中,不会在f1调用后被自动清除。function f2(){ ------------------------闭包。闭包就是能够读取其他函数内部变量的函数。
2025-01-01 11:16:47
188
原创 前端CSS面试整理
block format context 块级作用域上下文。一块独立的渲染区域,内部元素的渲染不会影响边界以外的元素;圣杯布局和双飞翼布局。
2024-12-30 14:16:32
161
原创 一文详解vue-cli2.0与vue-cli3.0之间的区别
注意:网上有说, vue -V命令是查看vue版本的,其实这是不对的,我们可以通过使用命令:vue install vue 来安装vue,安装成功后,输入vue -V命令查看,会提示:‘vue’不是内部或外部命令,也不是可运行的程序或批处理文件。注:原cli3/cli4的安装指令为@vue/cli,因为cli5的出现同样使用了@vue/cli,所以,想要安装3/4的版本,就需要在@vue/cli后面加上@版本号(例:npm install -g @vue/cli@3.11.0)。
2024-08-29 17:57:58
996
原创 Async/Await
1、 async函数返回一个 Promise 对象。2、async函数内部return语句返回的值,会成为then方法回调函数的参数。3、async/await是写异步代码的新方式,以前的方法有回调函数和Promise。4、async/await是基于Promise实现的,它不能用于普通的回调函数。5、async/await与Promise一样,是非阻塞的。6、async/await使得异步代码看起来像同步代码,这正是它的魔力所在。
2023-06-08 14:40:09
105
原创 Promise相关知识点
1、promise的then()返回一个新的promise,可以开成then()的链式调用。1、当使用promise的then链式调用时,在中间中断,不再调用后面的回调函数。1、onRejected函数:用于执行失败的回调(reason)=>{}1、当使用promise的then链式调用时,可以在最后指定失败的回调。1、简单表达:由then()指定的回调函数执行的结果决定。1、onResolve函数:成功的回调函数()=>{}1、onReject函数:失败的回调函数()=>{}
2023-06-07 16:23:41
185
原创 封装Promise
/2. 设置对象结果值 (promiseResult)//2. 设置对象结果值 (promiseResult)//1. 修改对象的状态 (promiseState)//1. 修改对象的状态 (promiseState)//修改 promise 对象状态为『失败』//保存实例对象的 this 的值。//同步调用『执行器函数』//resolve 函数。//调用成功的回调函数。//reject 函数。
2023-06-07 16:16:23
84
1
原创 computed和watch的使用场景
值也可以是方法名,或者包含选项的对象,当 data 的数据发生变化时,就会发生一个回调,他有两个参数,一个 val (修改后的 data 数据),一个 oldVal(原来的 data 数据)定义 : computed 是计算属性,它会根据你所依赖的数据动态显示新的计算结果,并且 computed 的值有缓存,只有当计算值变化才会返回内容。所以一般来说需要依赖别的属性来动态获得值的时候可以使用 computed,对于监听到值的变化需要做一些逻辑的情况可以使用 watch。
2023-06-02 16:42:14
494
转载 Vue数据更新页面却没有更新
在 Vue 中有两种类型的变量:响应式变量和非响应式变量。从后端获取的变量通常是响应式变量,也就是说它们会被 Vue 监测到变化并同步到页面上,如果你修改了这些响应式变量,页面会随之改变。而通过赋值来定义的变量通常是非响应式变量,如果你修改了这些非响应式变量,Vue 并不会监测到它们的变化,所以页面不会改变。如果你需要使一个非响应式变量变成响应式变量,可以使用 Vue.set 方法或者数组的变异方法(例如 push、splice 等)。例1:Vue.set(对象,添加的key,属性值”)
2023-06-02 11:22:40
2568
原创 vueX的相关属性
state => 基本数据getters => 从基本数据派生的数据mutations => 提交更改数据的方法,同步!actions => 像一个装饰器,包裹mutations,使之可以异步。modules => 模块化Vuex。
2023-06-01 17:54:15
64
1
原创 面向前端的 CDN 原理
CDN(Content Delivery Network,内容分发⽹络)是指⼀种通过互联⽹互相连接的电脑⽹络系统,利 ⽤最靠近每位⽤户的服务器,更快、更可靠地将⾳乐、图⽚、视频、应⽤程序及其他⽂件发送给⽤户, 来提供⾼性能、可扩展性及低成本的⽹络内容传递给⽤户。
2023-06-01 17:51:47
189
1
原创 vue2高频面试题
数据定义在data的return内和return外的区别:1. return外:单纯修改这个数据是不可以修改的,因为没有被get/set2. reutnr内:是可以修改的。
2023-05-25 17:19:04
547
1
原创 vue3和vue2 main.js store.js和index.js的区别
vue3和vue2 main.js store.js和index.js的区别
2022-11-16 16:51:40
617
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人