- 博客(37)
- 收藏
- 关注
原创 搜索框 输入框
">彻底删除</a-button><a-input-search placeholder="请搜索" /><a-select placeholder="全部资产状态" ><a-button >还原</a-button>
2023-08-11 16:17:23 80
原创 递归函数 の
当一个函数在执行过程中调用自身,这种编程技巧称为递归函数。递归函数的工作方式类似于一个循环,但使用自己来处理更小规模的子问题,直到满足某个终止条件为止。
2023-07-18 15:52:26 71
原创 当你需要判断数据的类型时,可以使用以下方法:
需要注意的是,在处理对象类型时,typeof和instanceof存在一些限制。因为JavaScript中的对象是引用类型,typeof对于对象返回的结果是"object",无法细分到具体的对象类型。而instanceof只适用于检查对象是否属于某个类,不能用于检查继承链上其他类的实例。因此,在判断数据类型时,应根据具体情况选择合适的方法。
2023-07-18 15:26:37 60
原创 如何扩展数组的方法
使用给定的函数测试数组中的每个元素,返回第一个满足条件的元素,如果没有满足条件的元素,则返回undefined。: 使用给定的函数测试数组中的每个元素,返回第一个满足条件的元素的索引,如果没有满足条件的元素,则返回-1。: 对数组中的每个元素应用给定的函数,返回一个新的数组,新数组的元素为原数组元素经过函数处理后的结果。: 使用给定的函数测试数组中的每个元素,如果所有元素都满足条件,返回true,否则返回false。: 使用给定的函数测试数组中的每个元素,返回一个新的数组,新数组只包含满足条件的元素。
2023-07-18 15:13:08 159
原创 JS 的继承 方法
JavaScript中的继承是一种机制,用于让一个对象(子对象)可以访问另一个对象(父对象)的属性和方法。通过调用父对象的构造函数来继承属性,并将子对象的原型指向父对象的实例以继承方法。原型链继承:通过将子对象的原型指向父对象的实例来实现继承。构造函数继承(经典继承):通过在子对象的构造函数中调用父对象的构造函数,以获取父对象的属性和方法。寄生式继承:在原型式继承的基础上,添加一些额外的属性和方法,从而实现更灵活的继承方式。原型式继承:通过创建一个临时构造函数,并将父对象作为该构造函数的原型,来实现继承。
2023-07-18 15:01:46 42
原创 px、em、rem、vw、vh区别与换算
em:相对于使用em的父级字体大小的来计算的,浏览器默认1em=16px。根元素写的font-size:62.5%,那么16px*0.625=10px=1em。px:绝对单位,像素是屏幕上显示出的最小一个点。rem: 相对根节点html的字体大小来计算。vw:根据视口的宽度。100vw=视口的宽度。vh:根据视口的高度。
2023-07-18 14:31:53 183
原创 怎么做前端性能优化
强缓存过期的时候,会使用last-modified或etag这类协商缓存向服务器发起请求,如果资源没有变化,则服务器返回304响应,浏览器继续从本地缓存加载资源,如果资源更新了,则服务器将更新后的资源发送到浏览器,并返回200。使用CommonChunkPlugin插件,将公共模块拆出来,最终合成的文件能够在最开始的时候加载一次,便存到缓存区中供后续使用,这回带来速度上的提升,因为浏览器会迅速将公共的代码从缓存中抽取出来,而不是每次访问一个页面的时候,都需要去加载一个很大的文件。
2023-07-16 15:21:29 238
原创 CSS 如何画一个三角形?原理是什么?
css 画三角形的原理是利用盒子边框完成的,实现步骤可以分为以下四步: 1.设置一个盒子 2.设置四周不同颜色的边框 3.将盒子宽高设置为 0,仅保留边框 4.得到四个三角形,选择其中一个后,其他三角形(边框)设置颜色为透明。
2023-07-14 19:54:35 49
原创 JS 的继承
继承(inheritance)是面向对象软件技术当中的一个概念。如果一个类别 B“继承自”另一个类别 A,就把这个 B 称为“A 的子类”,而把 A 称为“B 的父类别”也可以称“A 是 B 的超类”继承的优点: , 继承可以使得子类具有父类别的各种属性和方法,而不需要再次编写相同的代码在子类别继承父类别的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类别的原有属性和方法,使其获得与父类别不同的功能虽然并不是真正的面向对象语言,但它天生的灵活性,使应用场景更加丰富关于继承,我们举个形象的例子:定义一个
2023-07-14 19:53:31 141 1
原创 原型和原型链
原型是我们创建函数的时候,系统帮我们自动生成的一个对象。主要作用是解决构造函数内部方法内存资源浪费问题。在开发中我们一般把实例对象一些通用的方法放入原型中,在 vue 里面有时候也会给 vue 的原型添加一些公共类方法来实现所有的组件中可以共享成员。像一些常见的$router和$store 都是挂载到 vue 的原型上的。原型链是 js 对象一种查找机制,遵循就近原则。
2023-07-14 19:47:03 48 1
原创 vue如何定义全局变量和全局方法
1,前言在Vue项目开发中,肯定会有这样一个场景:在不同的组件页面用到同样的方法,比如格式化时间,文件下载,对象深拷贝,返回数据类型,复制文本等等。这时候我们就需要把常用函数抽离出来,提供给全局使用。那如何才能定义一个工具函数类,让我们在全局环境中都可以使用呢?请看下文分解。
2023-07-14 15:28:55 878 1
原创 掌握递归的实现原理,能做3个递归的常见题
请注意,尽管递归是一种强大的工具,但它在处理大规模问题时可能会导致性能问题。在实际应用中,递归通常需要考虑栈溢出和重复计算等问题。因此,在使用递归时,需要根据具体情况进行评估和优化。这些题目都展示了递归的实现原理,即函数调用自身来解决问题。在编写递归函数时,要确保有一个递归终止条件,以避免无限递归。在每次递归调用中,问题的规模都应该减小,直到达到终止条件为止。当涉及到递归,有几个常见的题目可以帮助你理解和实践递归的实现原理。
2023-07-14 09:14:17 66 1
原创 借用原型链补充数组的高阶排序方法
你可以根据需要扩展原型链,添加其他类型的排序方法,如按字符串字母顺序排序等。请记住,修改内置对象的原型可能会对代码的可维护性和与其他代码的互操作性产生一些影响,因此在实际项目中使用时需要小心谨慎。要使用原型链来补充数组的高阶排序方法,你可以在数组的原型对象上添加新的方法。方法,并通过比较函数来实现按数字大小排序。通过这种方式,你可以使用。在这个示例中,我们通过将方法添加到。方法使用JavaScript的内置。对象上来扩展数组的原型。来调用新添加的排序方法。
2023-07-14 09:04:36 63 1
原创 如何用reduce统计字符出现频率?
在上述示例中,我们首先将字符串 `str` 使用 `split('')` 方法转换为字符数组,然后使用 `reduce` 方法对字符数组进行迭代。最后,`reduce` 方法返回的是一个使用 `Map` 数据结构表示的字符频率统计结果。注意,如果需要按照出现频率的大小对字符进行排序,你可以在最后将 `frequencyMap` 转换为数组,并使用 `sort` 方法进行排序。以上示例中,`frequencyMap` 是一个 `Map` 对象,其中每个键表示字符,对应的值表示该字符在字符串中出现的次数。
2023-07-14 09:00:53 165 1
原创 声明导航-跳转传参
path/:id – 需要路由对象提前配置 path: “/path/参数名”在router-link上的to属性传值, 语法格式如下。目标:在跳转路由时,可以给路由对应的组件内传值。$route.params.参数名。$route.query.参数名。对应页面组件接收传递过来的值。
2023-07-11 16:04:44 33
原创 在vue中继成路由
目标:学会vue官方提供的vue-router路由系统功能模块的使用。目标: 如何在Vue项目中集成路由。vue-router的介绍。vue-router使用。
2023-07-11 15:12:50 28
原创 SPA ------- 单页面应用程序
以后每次请求仅仅获取必要的数据,减少了请求体积,加快页面响应速度,降低了对服务器的压力。简单来说,路由就是一套映射规则(一对一的对应规则), 由开发人员制定规则.-在 web App 中, 经常会出现通过一个页面来展示和管理整个应用的功能.SPA 往往是功能复杂的应用,为了有效管理所有视图内容,前端路由 应运而生.传统的多页面应用程序,每次请求服务器返回的都是一整个完整的页面。hash) 发生改变后,路由会根据制定好的。单页面应用程序只有第一次会加载完整的页面。, 展示对应的视图内容(组件)
2023-07-11 15:08:58 34
原创 .sync修饰符
封装弹框类的基础组件,visible属性 true显示 false隐藏。.sync修饰符 就是 :属性名和 @update:属性名 合写。可以实行子组件 与 父组件数据的双向绑定,简化代码。简单理解:子组件可以修改父组件传过来的props值。
2023-07-11 14:45:59 49
原创 Vue v-model 原理
子组件:props通过value接收数据,事件触发 input。v-model其实就是 :value和@input事件的简写。父组件:v-model直接绑定数据。父组件通过v-model。,实现子组件和父组件数据。
2023-07-11 14:40:17 51
原创 3分钟看会父传子,子传父 组件通信
2,default后面如果是简单类型的值,可以直接写默认,如果是复杂类型的值,则需要以函数的形式return的默认值。为组件的prop指定验证要求,不符合要求,控制台就会有错误提示 帮助开发者,快速发现错误。子组件利用$emit 通知父组件 进行修改更新。1.父组件通过props将数据传递给子组件。2.子组件利用$emit通知父组件修改更新。1.给子组件以添加的属性的方式传值。1.$emit触发事件,给父组件发送信息通知。2.父组件监听·$emit触发的事件。props校验的完整的写法。
2023-07-11 14:30:33 264
原创 Vue2中插槽的使用
定义slot 插槽的同时 是可以传值的 给插槽上可以绑定数据,将来使用组件可以用。<slot :id="item.id" msg="测试文本"></slot>通过插槽完成了任何内容的定制,传什么显示什么,如果不传,则是空白。封装组件时,可以预留<slot> 插槽提供后备内容(默认内容)插槽只有俩种,作用域插槽不属于插槽的一种分类。外部使用了组件,不传东西,则slot会显示后备内容。在<slot>标签内,放置内容,作为默认显示内容。外部使用组件时,传东西了,则slot整体会被换掉。
2023-07-11 10:10:47 2746
原创 git版本回退
这会将当前分支回退到指定的版本,并删除之后的移交记录,请注意,这个操作是不可逆的,所以在执行之前确保你已经备份了重要的代码和文件.第一步: 使用git log命令查看提交历史,找到想要回退的版本的commit id.这会将当前分支回退到指定的版本.但不会删除之后的提交记录.
2023-06-04 23:00:32 1025 2
原创 什么是$set 以及他的实现原理
vue 源码里缓存了 array 的原型链,然后重写了这几个方法,触发这几个方法的时候会 observer 数据,意思是使用这些方法不用再进行额外的操作,视图自动进行更新。推荐使用 splice 方法会比较好自定义,因为 splice 可以在数组的任何位置进行删除/添加操作, 总共提供了 7 个方法都可实现响应式: splice()、 push()、pop()、shift()、unshift()、sort()、reverse()如果目标是数组,直接使用数组的 splice 方法触发相应式;
2023-05-23 01:01:56 93 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人