前端面试题
Licia_dd
做自己的光
展开
-
this、call、apply、bind
this 的四种绑定方式:隐式绑定、显式绑定、window 绑定、new 绑定。转载 2024-07-11 15:22:23 · 27 阅读 · 0 评论 -
JSX中函数传参后立即执行
其中,thisArg 是指定函数中的 this 关键字指向的对象,arg1,arg2,... 是传递给函数的参数。与 call 和 apply 不同,bind 函数不会立即调用函数,而是返回一个新的函数,可以将它存储在变量中,然后在需要时调用。(2)利用 bind,因为 bind 可以改变 this 指向,此时 this 仍指向这个实例,但可以阻止函数立即执行,但 apply 和 call 不能实现。,该函数将绑定到指定的上下文,当该函数被调用时,它将以指定的上下文运行。(1)return 一个函数。原创 2024-06-29 14:54:44 · 57 阅读 · 0 评论 -
Class类--constructor构造函数
在JavaScript的类(Class)中,如果在 constructor(构造函数)里使用 ‘this.方法名()’,通常是用来在创建类的实例时立即调用某个方法,以完成一些初始化或设置操作。这种方式可以确保在对象创建时就执行特定的方法,而不需要显式地在类外部再次调用。当我们使用 ‘new MyClass()’ 创建一个 ‘MyClass’ 的实例时,构造函数会立即调用 ‘this.initialize()’。这样,无需额外调用 ‘initialize()’ 方法,对象在创建时就已经完成了初始化操作。原创 2024-06-21 17:21:50 · 254 阅读 · 0 评论 -
vue3的watch属性
观察reactive定义的一个属性。观察reactive定义的多个属性。观察ref定义的一个属性。观察ref定义的多个属性。原创 2024-04-01 18:23:23 · 654 阅读 · 0 评论 -
Array方法总结(三)
返回一个新的数组对象。从原数组的start和end(不包括end)索引范围内浅拷贝。原创 2024-03-30 14:57:43 · 434 阅读 · 1 评论 -
Array方法总结(二)
判断一个数组是否包含一个指定的值,包含返回true,否则返回false。includes(searchElement, fromIndex) 开始搜索的索引(从零开始)。如果 fromIndex大于等于数组的长度,则将直接返回false,且不搜索该数组。原创 2024-03-30 14:07:21 · 1648 阅读 · 1 评论 -
Array方法总结(一)
copyWithin(target, start, end) 从start开始到end(不包括end)的元素复制到target开始的位置,不改变原数组长度。复制数组的一部分到同一数组中的另一位置,并返回自身。返回一个新的数组迭代器对象,该对象包含数组中每个索引的键/值对。返回数组中满足条件的第一个元素的值。一个数组内的所有元素是否都通过指定函数的测试。返回一个新数组,包含所有通过所提供函数实现的测试的所有元素。返回满足条件的第一个元素的索引。创建一个新的数组,将所有子数组元素拼接到新的数组中。原创 2024-03-29 17:14:33 · 551 阅读 · 1 评论 -
vue3父子组件之间的传值方式
下面的简单例子中,ChildA组件有一个按钮,当按钮被点击时,会触发一个名为 value-changed的事件,并将一个值传递给父组件。父组件的handleValueChanged方法会捕获这个事件,并将接收到的值存储在本地状态中,然后这个值会通过props传递给ChildB组件。在vue3中,可以使用props和emit来实现父子组件之间的通信。子组件可以使用emit发出一个事件,父组件监听这个事件,并将数据传递给另一个子组件。子组件ChildA.vue。子组件ChildB.vue。原创 2024-03-27 14:46:30 · 563 阅读 · 0 评论 -
在setup(){}中获取不到this,怎么使用emit传值
在vue3的setup函数中,没有了this关键字,因为setup是在组件初始化阶段运行的,此时组件实例还没被创建,因此也就不存在this对象。在vue2中,使用this.$emit来触发父组件的事件,在vue3中,可以直接把emit函数作为参数传递进来。原创 2024-03-27 14:19:11 · 494 阅读 · 0 评论 -
防抖和节流
这样后面的setTimeout在触发前会判断阀门是否关闭,如果关闭了则不会继续触发,要等之前的setTimeout执行完后,才允许触发后面的setTimeout。防抖:在执行setTimeout之前,先使用clearTimeout() 把。防抖和节流的原理都用到了闭包:里面的变量只会在闭包中使用,不会受到外部的污染。防抖:短时间内触发了多个setTimeout,节流:在第一次触发了setTimeout之后,,这样就达到了只会执行最后一次触发的setTimeout。先把阀门关闭,等待执行完后再把阀门打开。原创 2024-02-29 15:15:52 · 568 阅读 · 1 评论 -
Vue2和Vue3的区别
Vue3 中绑定的是 modelValue 属性和 update:modelValue 自定义事件。Vue2 中绑定的是 value 属性和 input 自定义事件。Vue3 比较相同层级子节点时,求最长重复子序列,然后再比较。Vue2 比较相同层级子节点时,从两端到中间遍历。Vue2 中 v-for 优先级更高。Vue3 中 v-if 优先级更高。(六)Vue2和Vue3 Diff算法原理不一样。(三)v-for和v-if优先级不同。(一)生命周期函数不同。(五)响应式原理不一样。(四)开发模式不一样。原创 2024-02-29 14:31:41 · 953 阅读 · 1 评论