- 博客(23)
- 收藏
- 关注
原创 js中的垃圾回收机制
新生代区域又分出两个空间一个是FROM空间(使用空间)一个是TO空间(闲置空间),当FROM空间中的对象要满的时候,我们就开始标记将存活对象标记好后,将他们复制到闲置空间中最后再把FROM空间清空,然后再交换他们的名称。首先我们将所有的对象标记为0,将存活的对象标记为1将标记为0的对象清除掉,然后将标记为1的对象重新标记为0,方便下一次垃圾回收,但是有一个问题就是:不连续,找位置是个问题。老生代区域垃圾回收机制,之前提到的标记清除算法,不同的是使用了标记压缩算法将他们的位置整理好。
2023-04-12 10:53:29 152
原创 vue路由的hash模式和history模式有什么区别
history有历史记录,H5新增了pushState和replaceState()去修改历史记录,并不会立刻发送请求。在做回车刷新的时候,hash模式会加载对用页面,history会报错404。hash模式支持低版本浏览器,history不支持,因为是H5新增的API。hash的路由的路由地址上有#号,history模式没有。hash不会重新加载页面,单页面应用必备。history需要后台配置。
2023-04-05 15:23:35 105
原创 路由拦截是怎么实现的?
Vue2为了防止重定向时的报错,我们可以在当前路由上添加以下代码(Vue3没有这个报错)需要在路由配置总添加一个字段,它使用与判断路由是否需要拦截。路由拦截 axios 拦截。
2023-04-05 15:22:41 164
原创 Vue中组件通信:兄弟间传递事件总线
new一个新的vue实例,用on和emit来对事件进行传输。Vue3官方有推荐一些库,例如 mitt。封装eventBus.js。在需要使用的组件中导入。
2023-04-04 14:23:56 360
原创 Vue中组件通信:子传父emit
vue3中无法直接使用$emits,需要使用const emit = defineEmits(['(对应方法名)'])的方式来向父组件传递信息,一般在onMounted(() => {})中去执行传递方法的事件,如:emit("getMsg", "我来自子组件"),然后父组件在子组件上使用@getMsg="showMsg"的方式来获取传入的信息,注意:getMsg是对应的子组件的方法名,此方法名称自定义,showMsg为父组件的方法名称也可以自定义。
2023-04-04 14:14:41 223
原创 Vue中组件通信:父传子ref
在父组件中可以使用ref="(el) => child = el"的方式来准确获取到子组件的实例,然后使用child.value.(对应方法名或变量名)的方式获取相应信息。vue3中需要引入defineExpose从子组件向父组件暴露需要获取到的对应的变量或方法。引用信息会注册在父组件的$refs对象上。
2023-04-04 13:44:10 370
原创 Promise
这个方法需要两个参数,第一个参数作为处理已兑换状态的回调函数,而第二个参数则作为处理已拒绝状态的回调函数。待定(pending):初始状态,既没有兑现,也没有被拒绝。对象用于表示一个异步操作的最终完成(或失败)及其结果值。成功(fulfilled):意味着操作成功完成。已拒绝(rejected):意味着操作失败。Promise链式调用,常用的3个方法。
2023-03-29 13:38:40 52
原创 bind、apply和call之间的区别
call的参数是直接放进去的,第二个第三个第n个参数全都用逗号分隔,直接放到后面obj.myFun.call(db,'成都', ... , 'string')。apply的所有参数必须放在一个数组里面传进去 obj.myFun.apply(db,['成都', ..., 'string'])。当然,三者的参数不限定时string类型,允许时各种类型,包括函数、object。bind 除了返回的是函数外,其他的参数和call一样。
2023-03-29 13:20:15 40
原创 with语句
此时当我使用with把这个命名空间的指向person的时候。虽然改变了this的值但也不是单纯改变this的指向。在ECMAscript标准而言是不推荐的。TC39委员会建议我们要慎用这个东西。这时他的命名空间的指向时非常混乱的。因为我们改变this的指向可以使用。但是在某种情况下我们利用with。比如我现在有一个person对象。那么我们就可以不加person点。这个在应用层严格来说是用不到的。因为他会改变块级作用域下的。这是它为什么不被推荐的原因。当我们使用with语句时。或者说是命名空间的指向。
2023-03-29 13:14:11 49
原创 filter、map和foreach的区别
那么对于map而言它和foreach不同的是拥有一个返回值。对于foreach而言它主要的作用就是循环一个数组。filter得到的新数组是从原有的数组中筛选出来的。filter和map都包含了一个返回值的概念。但是map的逻辑和filter不太一样。filter翻译过来是一个筛选的意思。通过它的返回值来去筛选出我想要的数据。当它return false的时候呢。对于map而言的话呢它其实也是个循环。因为它会return一个布尔型的值。当return值为true的时候呢。我就可以再filter的时候。
2023-03-29 13:11:36 205
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人