首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
前端每日一练
你不会困
创建于2022-07-02
订阅专栏
主要是一些面试题的练习心得
暂无订阅
共42篇文章
创建于2022-07-02
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Vue 的响应式原理中Object.defineProperty 有什 么缺陷?
(1)object.defineproperty 无法监控到数组下标的变化,导致通过数组下标添加元素,无法实时响应 (2)object.defineProperty 只能劫持对象的属性,从而需要对每个
call 和apply 的区别是什么,哪个性能更好一些
1、call 和 apply 都是 function 类 原型上的方法;每一个函数作为 function 的实例都能调用这两个方法;这两个方法执行的目的都是用来改变函数中 this 指向的,让函数执行
双向绑定和 vuex 是否冲突
官方的文档解释:严格模式下使用vueX,不是在mutation中修改会抛出错误,所以可以监听input或者change去改变
在 Vue 中,子组件为何不可以修改父组件传递的 Prop
prop是单向数据流,每次父级组件发生变更时,子组件中所有的 prop 都将会刷新为最新的值。这意味着你不应该在一个子组件内部改变 prop。如果你这样做了,Vue 会在浏览器的控制台中发出警告。 如
BFC块级格式上下文
是页面盒模型布局中的一种CSS 渲染模式,相当于 一个独立的容器,里面的元素和外部的元素相互不影响。 满足五个条件其中之一就可以创建BFC html 根元素 float 浮动 绝对定位 overflo
下面代码中 a 在什么情况下会打印 1?(考察隐式转换)
下面代码中 a 在什么情况下会打印 1 主要考察==的隐式转换 toString和valueof都可以
vuex中为什么把把异步操作封装在action,把同步操作放在mutations?
官方文档说明:“在 mutation 中混合异步调用会导致你的程序很难调试。例如,当你能调用了两个包含异步回调的 mutation 来改变状态,你怎么知道什么时候回调和哪个先回调呢?这就是为什么我们要
数组扁平化,遍历将多维数组变成一维数组
手写flatten函数,实现数组扁平化,实现去掉数组里面的[ ],遍历将多维数组变成一维数组,es6的扩展运算符的运用
var的作用域和执行对象
代码打印的结果是 function b(){ b = 20; console.log(b); } 因为b会先找局部变量b=20,b是全局变量,所以要向外寻找最近的,输出函数function 若想输出b
改造下面的代码,使之输出0 - 9,写出你能想到的 所有解法。
首先先确定输出的是10个10,这是因为js是单线程,先执行循环,var是全局变量会累计,再执行setTimeout 最简单的方法就是var改为let,将其变为块级作用域 其次是利用 setTimeou
数组合并
请把两个数组['A1', 'A2', 'B1', 'B2', 'C1', 'C2', 'D1', 'D2'] 和['A', 'B', 'C', 'D'],合并 为['A1', 'A2', 'A', '
重排和重绘
重排必定会发生重绘,重绘不一定会引发重排。 1、使用transform 替代top 2、使用visibility 替换display: none ,因为前者只会引起重绘,后者会引发重排 3、避免使用t
requestAnimationFrame请求动画帧
当c3动画无法满足时,可以使用h5的api setTimeout制作动画时,时间跟浏览器的刷新,导致抖动 可以使用requestAnimationFrame制作动画\
如何实现一个new
new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。new 关键字会进行如下的操作: 1.创建一个空的简单 JavaScript 对象(即{}); 2.链接该对象(即设置该对
js的异步发展历程
1、回调函数(callback) 优点:解决了同步的问题(只要有一个任务耗时很长,后面的任务都必须排队 等着,会拖延整个程序的执行。) 缺点:回调地狱,不能用try catch 捕获错误,不能retu
扁平化去重排序
将一个数组扁平化去重排序 输出[1,2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] new Set(arr.flat(Infinity))//去重扁平化 Arr
宏任务和微任务,async/await,promise,setTimeout的区别
异步任务的执行,是有一个优先级的顺序的,包括了 宏任务(macrotasks) 和 微任务(microtasks) 宏任务:整体代码script setTimeout, setInterval, se
数字格式化
实现数值三位添加一个逗号,一行代码实现,使用正则表达式 正则表达式分解:(\d{3})+$ 三位数字分开 然后(?=)是定位到三位数字的前面添加逗号,如果不加\B(非单词边界),数字就会出现最前面有逗
Set、Map、WeakSet 和WeakMap 的区别?
1.Set——对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用 2.WeakSet——成员都是对象;成员都是弱引用,可以被垃圾回收机制回收,可以 用来保存DOM 节点,不容易造成内存泄漏;
防抖、节流
防抖——触发高频事件后n 秒后函数只会执行一次,如果n 秒内高频事件再 次被触发,则重新计算时间; 节流——高频事件触发,但在n 秒内只会执行一次,所以节流会稀释函数的执 行频率。
下一页