- 博客(35)
- 收藏
- 关注
原创 JavaScript相关面试题
CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:外边距(margin)、边框(border)、内边距(padding)、实际内容(content)四个属性,分为标准模型和IE模型,标准模型的宽度不包括内边距,IE模型的宽度要包括内边距。标准盒模型宽度=width + 内边距+边框+外边距怪异盒模型=width+外边距。
2023-09-06 21:54:27
55
原创 Vue3引入组件时相对路径改变为绝对路径引入
接下来我们看一张图片我们看到以上两种引入方式,如果我们组件发生移动,那么我们的相对路径是不是就不能用了?所以我们采用绝对路径的方式。
2023-09-06 17:35:27
866
原创 Vue相关面试题
原理:通过数据劫持 defineProperty + 发布订阅者模式,当 vue 实例初始化后 observer 会针对实例中的 data 中的每一个属性进行劫持并通过 defineProperty() 设置值后在 get() 中向发布者添加该属性的订阅者,这里在编译模板时就会初始化每一属性的 watcher,在数据发生更新后调用 set 时会通知发布者 notify 通知对应的订阅者做出数据更新,同时将新的数据根性到视图上显示。这样,可以在生成器函数内部根据外部传入的值进行相应的处理。
2023-09-03 18:00:22
95
原创 面试题(五)
(1).父传子:父组件绑定一个自定义属性,自定义属性的值就是要传递的数据(2).子传父通过$emit(3)通过ref和refs(4)事件总线 $ emit和$on(5)状态管理工具vuex(6)$ parent和$ children(7)依赖注入provide和inject和data属性写法一致。
2023-08-30 16:23:28
63
原创 React面试题(四)
Redux-thunk适合简单的异步操作,使用简单;Redux-saga适合复杂的异步操作,提供更强大的控制流程和错误处理机制。选择哪个中间件取决于项目的需求和开发团队的经验水平。
2023-08-25 14:50:43
90
原创 React面试题(三)
如何区分深拷贝与浅拷贝,简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝,自食其力。1.如果是基本数据类型,名字和值都会储存在栈内存中。当然,这也算不上深拷贝,因为深拷贝本身只针对较为复杂的object类型数据2.如果是引用数据类型,名字存在栈内存中,值存在堆内存中,但是栈内存会提供一个引用的地址指向堆内存中的值。
2023-08-24 10:48:29
183
原创 React面试题大全
(1)闭包的理解:闭包是由函数和其相关的引用环境组合而成的包裹体,可以让函数访问其定义时所在的 词法作用域中的变量。具体来说,当一个函数在其定义的作用域外部被调用时,它仍然 可以访问和使用在定义时所在的作用域中的变量。这是因为函数在定义时会创建一个闭 包,将其定义时所在的作用域中的变量保存在闭包中。当函数被调用时,它会在闭包中 查找所需的变量。数据封装:闭包可以将变量封装在函数内部,避免全局变量的污染,提高代码的可 维护性和可复用性。
2023-08-18 16:26:56
105
原创 公司中常用的分支
主分支 master 一般不会去使用。功能分支 feature。预发布分支 release。bug分支 fixbug。开发分支 develop。其他分支 other。
2023-08-08 10:30:46
91
原创 git命令详解
git push -u origin "分支名" 第一次进行远程提交命令 可以用于本地仓库有该分支,远程仓库没有该分支。如果是修改完的暂存区可以使用git commit -a -m '提交信息' 提交到本地仓库。git remote add origin 远程仓库链接 本地仓库连接远程仓库。git push origin --delete 分支名 删除远程仓库分支。git commit -m '提交信息' 将暂存区的代码上传到本地仓库。git merge 分支名 合并指定分支到当前分支。
2023-08-08 10:26:58
90
原创 面向对象编程方式的理解以及封装一个使用递归方式的深拷贝方法deepClone面试题
面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,将程序中的数据和操作数据的方法组织在一起,形成对象。每个对象都是一个实例,拥有自己的属性(数据)和方法(操作)。面向对象编程通过封装、继承和多态来实现对现实世界的建模和抽象。面向对象编程的核心概念包括:类(Class):类是一种抽象的数据类型,用来描述一类具有相同属性和行为的对象。类定义了对象的属性和方法。对象(Object):对象是类的实例化结果,它是具体的、有状态的实体。
2023-08-07 20:06:32
99
1
原创 关于闭包,事件循环,js类型检验的面试题
闭包就是一个函数嵌套一个函数,里面的函数能够引用外部函数的变量,这样就构成了一个闭包。优点:1.保护变量:闭包可以讲变量封装在函数内部,不被外部访问和修改,不会污染全局变量。2.延长变量的生命周期:闭包可以使得函数内部的变量在函数执行完毕后仍然存在于内存中,可以被后续的函数访问和使用。3.实现数据私有化:闭包可以创建私有变量,只能通过特定的方法访问和修改,实现了一定程度的数据私有化。缺点:1.内存占用,闭包会导致变量一直保存在内存中,不会被垃圾回收,如果闭包使用不当,就会导致内存泄露的问题。
2023-08-06 20:04:51
80
原创 react中路由使用v6的版本,监听路由改变实现动画效果
1.先下载react-transtion-group动画的第三方包。3.用 CSSTransition包裹组件内容。3.监听路由变化,改变in的值。4.根据fade前缀,实现效果。
2023-07-26 10:00:48
512
1
原创 使用react-draggable实现拖拽
1.先安装react-draggable。2.利用Draggable包裹要拖拽内容。利用bounds属性,如上面代码。
2023-06-10 08:18:32
499
1
原创 数组包对象,求对象中某个属性的总和
const packages = [ { id: 1, quantity: 2, price: 10 }, { id: 2, quantity: 3, price: 20 }, { id: 3, quantity: 1, price: 5 } ]; const total = packages.reduce((acc, obj) => acc + obj.price, 0); console.log(total); // 输出 35
2023-05-30 16:23:05
223
1
原创 根据数组中某一属性来进行排序
/ 输出 [{"name":"banana","price":0.9},{"name":"orange","price":1},{"name":"apple","price":1.2}]
2023-05-24 14:41:27
120
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人