掘友等级
获得徽章 0
#每日一题#
第149题:说一说在前端项目中如何捕获异常
我的答案
1. 使用try...catch捕获指定位置的异常;
2. 使用浏览器提供的error事件,该事件可以监听语法错误、资源加载失败;
3. 在Vue中可以使用errorHandlerAPI;
4. 在React是否有提供API?如果提供了,是什么?
#每日一题#
第134题:怎么为Vue3组件实现v-model?
我的答案
1. 通过props接收一个值,如果是modelValue的话,父组件传递时不需要指定名称;
2. 定义emits,事件名称指定为update:modelValue;
3. 定义计算属性,get方法return的是props.modelValue,set方法执行emits('update:modelValue', value);
4. 最后在父组件就可以通过v-model进行双向数据绑定。
#每日一题#
第135题:[] == ![]的结果是什么?为什么?
我的答案
1. ![]的结果为false,因为直接将空数组转换为布尔类型为true,取反结果为false;
2. 将false与[]进行比较时,如果是使用==的话结果为true,因为这里存在强制类型转换(false == 0 === true; false == '' ===true; [] == '' === true; 0 == '' === true);
3. 所以说在实际开发中尽量少使用==,避免出现意想不到的结果。
#每日一题#
第136题:说一说Vue2与Vue3有哪些不同?
我的答案
- 生命周期,在CompositionAPi中使用setup替换beforeCreate和create;
- 使用Proxy替换defineProperty;
- 源代码由TS重写,更好的兼容TS;
- 支持Hooks写法;
- diff算法的优化;
- 打包体积的减少。
工作日报/周报(还有hxd补充一下吗)
1. 持续优化xxx
2. 重构了xxx
3. 梳理xxx,总结xxx
4. 排查xxx问题
5. 改进了xxx逻辑,性能得到提升
6. 通过 xxx 降低了 xxx 至 xxx
7. 为了 xxx 重新设计了 xxx
8. 为了 xxx 通过 xxx 完成了 xxx
9. 通过 xxx 优化了 xxx 为 xxx
10. 为了 xxx 将 xxx 应用到了 xxx
11. 通过 xxx 提高了 xxx 至 xxx
12. 为了 xxx 通过 xxx 将 xxx 集成
13. 为了 xxx 通过 xxx 成立了 xxx
#每日一题#
第137题:null是不是一个对象?如果是,如何判断一个对象是null?
我的答案
null是一个对象,在JavaScript中表示一个空指针对象;null与null是相等的,所以说直接使用null===null就可以。
#每日一题#
第138题:箭头可以当做构造函数吗?为什么?
我的答案
不能。因为箭头函数的this永远指向调用者,也就是说它的this是根据当前上下文确定的,所以无法用作构造函数。
#每日一题#
第139题:触摸事件都有哪些?触发机制是什么?
我的答案
- touchstart:当触摸点与设备表面接触后触发;
- touchmove:当触摸点与设备表面移动时触发;
- touchend:当触摸点离开设备表面后触发;
- touchcancel:当触摸点被中断后触发;
#每日一题#
第140题:页面上有一个input,还有一个p标签,改变input后p标签就跟着变化,如何处理?监听input的哪个事件,在什么时候触发?
我的答案
- 可以根据不同情况,监听input的input事件、change事件或者blur事件;
- 在时间触发后去更新p标签的innerText;