![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
吴冬雪~
Everything is the best arrangement.
展开
-
css盒子模型有几种?以及盒模型设置?
CSS盒子模型就是在网页设计中经常用到的CSS技术所使用的一种思维模型。 盒子模型(Box Modle)可以用来对元素进行布局,包括内边距,边框,外边距,和实际内容这几个部分。盒子模型分为两种: 第一种是W3c标准的盒子模型(标准盒模型) 第二种IE标准的盒子模型(怪异盒模型) 当前大部分的浏览器支持的是W3c的标准盒模型,也保留了对怪异盒模型的支持,当然IE浏览器沿用的是怪异盒模型。怪异模式是“部分浏览器在支持W3C标准的同时还保留了原来的解析模式”,怪异模式主要表现在IE内核的浏原创 2020-05-11 11:09:01 · 8408 阅读 · 0 评论 -
keep-alive 的应用
keep-alive可以在组件切换时,保存其包裹的组件的状态,使其不被销毁,防止多次渲染。其拥有两个独立的生命周期钩子函数 actived 和 deactived,使用keep-alive包裹的组件在切换时不会被销毁,而是缓存到内存中并执行 deactived 钩子函数,命中缓存渲染后会执行 actived 钩子函数。生命周期执行顺序:1、不使用keep-alive的情况:beforeRouteEnter --> created --> mounted --> destroyed。转载 2020-12-08 09:14:04 · 5052 阅读 · 0 评论 -
javaScript 判断对象中是否存在某个属性
【代码】javaScript 判断对象中是否存在某个属性。转载 2021-04-16 15:46:35 · 58 阅读 · 0 评论 -
vue3使用reactive包裹数组如何正确赋值
需求:将接口请求到的列表数据赋值给响应数据arrvue3使用proxy,对于对象和数组都不能直接整个赋值。使用方法1能理解,直接赋值给用reactive包裹的对象也不能这么做。方法2为什么不行?只有push或者根据索引遍历赋值才可以保留reactive数组的响应性?如何方便的将整个数组拼接到响应式数据上?转载 2021-04-25 21:04:10 · 28789 阅读 · 6 评论 -
去除数组中某一属性值相同的对象元素
【代码】去除数组中某一属性值相同的对象元素。原创 2021-05-28 21:28:15 · 1222 阅读 · 0 评论 -
vuex中modules的使用
由于使用单一状态树,应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时,store 对象就有可能变得相当臃肿。原创 2021-06-17 17:00:17 · 447 阅读 · 1 评论 -
vue3 输入框禁止输入表情
【代码】vue3 输入框禁止输入表情。原创 2021-07-13 10:19:12 · 866 阅读 · 0 评论 -
import和require
import属于加载前置得机制,因此将其全放在代码顶部,代码解析逐个import获取一个引入的列表,先引入依赖,再向下执行代码,加载前置 re'q原创 2021-06-10 11:17:55 · 120 阅读 · 0 评论 -
vue3.0中如何载入自定义指令-实现按钮权限控制、实现防抖和节流
总结适用于所有定时器(计时器和延时器)原创 2022-02-15 18:07:56 · 963 阅读 · 0 评论 -
px em rem
em:继承父级的,假设html的font-size默认为16px,body字体大小定义为50%,那么在body里字体大小就是1em=8px了。因为继承了父级的值,现在这个div里的1em=4px,这么嵌套下去的话,抱歉,我数学不好!rem:是em的升级版,rem只会相对html的值,不会受到父级的影响,这样的好处在于:从em里的例子来讲,1rem始终会等于8px。pc端使用px倒也无所谓,可是在移动端,因为手机分辨率种类颇多,不可能一个个去适配,这时px就显得非常无力,所以就要考虑em和rem。原创 2020-04-11 21:54:54 · 125 阅读 · 1 评论 -
.map()、.forEach()、.filter()
原生js中数组可以直接通过map(),filter()函数来进行一次操作,他们分别是做一次统一映射,和一次过滤。说的更通俗一点,就是map函数之后,数组元素个数不变,但是按照一定的条件转换,数组元素发生了变化。filter函数之后,数组元素个数可能发生了改变,但是数组元素不会发生改变。...原创 2021-06-17 18:49:44 · 472 阅读 · 1 评论 -
Promise.all和Promise.race
顾名思义,Promse.race就是赛跑的意思,意思就是说,Promise.race([p1, p2, p3])里面哪个结果获得的快,就返回那个结果,不管结果本身是成功状态还是失败状态。Promse.all在处理多个异步处理时非常有用,比如说一个页面上需要等两个或多个ajax的数据回来以后才正常显示,在此之前只显示loading图标。二、Promise.race的使用。一、Pomise.all的使用。原创 2021-06-29 10:50:29 · 1029 阅读 · 0 评论 -
微信小程序bindtap和catchtap的区别
bindtap和catchtap的区别 (1)相同点:首先他们都是作为点击事件函数,就是点击时触发。在这个作用上他们是一样的,可以不做区分。 (2)不同点:他们的不同点主要是bindtap是冒泡的,catchtap是非冒泡的。...原创 2021-10-13 22:01:23 · 382 阅读 · 0 评论 -
onLoad、onShow
2.如果从一个页面携带参数跳转到另外一个页面,在另一个页面获取参数的方式:onLoad(options){ console.log(options.xxx) },这些参数都挂在在options.1.如果加载列表页,二级页面对一级的列表页面内容有修改,则以及列表函数应该在onShow中加载,否则可以选择onLoad。从二级页面返回该页面时,onLoad不会再次加载,而onshow会重新加载。onLoad页面加载时调用,可以获取参数,通过options。onShow页面显示时调用。原创 2022-03-07 14:51:38 · 1044 阅读 · 0 评论 -
微信小程序 组件间通信
参考:组件间通信与事件 | 微信开放文档微信小程序子组件向父组件传值的两个方法_一个前端小白的博客-CSDN博客_小程序子组件向父组件传值转载 2022-03-07 15:09:06 · 316 阅读 · 0 评论 -
vuex-persistedstate使用 设置vuex数据持久化
【代码】vuex-persistedstate使用 设置vuex数据持久化。原创 2022-03-07 16:05:08 · 1419 阅读 · 1 评论 -
TS语法 非空断言操作符!
非空断言操作符!.(non-null assertion operator),和?.相反,这个符号表示对象后面的属性一定不是null或undefined。原创 2022-03-31 16:51:02 · 2004 阅读 · 0 评论 -
分析内置new的原理,重写
/ 创建一个空对象,并且让创建的这个空对象的.__proto__指向[proto] “把[proto]作为创建对象的原型”let obj = Object.create(null);//->创建一个空对象,并且阻止了他的__proto__指向「没有这个属性了」原创 2022-07-21 17:54:27 · 72 阅读 · 0 评论 -
重写内置call、bind
柯理化思想「预处理思想」原创 2022-07-21 19:06:03 · 96 阅读 · 0 评论 -
instanceof 检测原理
字面量方式创造的基本数据类型值是无法基于 instanceof 检测的「浏览器默认并不会把它转换为new的方式」,所以它本身不是对象,不存在__proto__这个东西。+ 所有实例的原型链最后都指向Object.prototype,所以 “实例 instacnceof Object”的结果都是true。+ 基于instanceof可以细分一下不同类型的对象「也可以检测出基于构造函数方式创建出来的基本类型对象值」+ 在JS中原型链是可以改动的,所有结果不准确。+ 临时当“壮丁”的,存在很多问题。原创 2022-07-25 19:55:07 · 229 阅读 · 0 评论 -
useEffect,useCallBack,useMemo 比较
useMemo 一般用来缓存数据使用。在子组件中使用 shouldComponentUpdate, 判定该组件的 props 和 state 是否有变化,从而避免每次父组件render时都去重新渲染子组件。空数组 useEffect 只在第一次渲染时执行,由于空数组中没有值,始终没有改变,所以后续render不执行,相当于生命周期中的componentDidMount。2.useCallback返回一个函数,当把它返回的这个函数作为子组件使用时,可以避免每次父组件更新时都重新渲染这个子组件。原创 2022-08-19 14:33:07 · 167 阅读 · 0 评论 -
useEffect 与 useLayoutEffect
优先使用 useEffect,因为它是异步执行的,不会阻塞渲染。会影响到渲染的操作尽量放到 useLayoutEffect中去,避免出现闪烁问题。useLayoutEffect在服务端渲染的时候使用会有一个 warning,因为它可能导致首屏实际内容和服务端渲染出来的内容不一致。useEffect和useLayoutEffect的区别_溪宁的博客-CSDN博客_uselayouteffect。原创 2022-08-22 18:03:31 · 1052 阅读 · 0 评论 -
ts定义对象类型Record<string, any>;和object、Object的区别
object对象上,键不会被假定为any,TypeScript不知道哪些密钥实际存在,但它不允许访问任何密钥。TypeScript允许访问类型Record对象得任何属性,即使特定键未知。object定义是一个对象类型,不能自动获取对象上的属性和方法。Object 也是不可以自动获取定义的对象上的属性和方法,object类型只能定义对象类型,不能定义其他类型。Object只能赋给任意值,不能调用方法。但是可以获取对象自身上的属性和方法。Object类型可以定义任何类型。原创 2023-04-25 16:26:25 · 5044 阅读 · 0 评论 -
微信小程序混入(Behavior的使用)
微信小程序如何实现混入:自定义组件Behavior_微信小程序混入_super_wanan的博客-CSDN博客Behavior(Object object) | 微信开放文档。原创 2023-04-26 11:42:17 · 489 阅读 · 0 评论 -
vue 中v-if和v-show的区别与使用
如果只是要么显示要么隐藏之后不会再改变显示隐藏状态的情况,v-if更加的合理,因为如果默认就是隐藏,相当于dom一次都不用创建,如果默认是显示,v-if和v-show效果完全一样。大家都知道频繁操作dom对性能影响很大,v-if如果用在有toggle按钮控制的情况下,相当于在频繁增加dom和删除dom,所以此时用v-show更加合适。当组件中某块内容只会显示或隐藏不会被再次改变显示状态,此时用v-if更加合适,例如请求后台接口通过后台数据控制某块内容是否显示或隐藏,且这个数据在当前页不会被修改;原创 2020-04-23 13:19:40 · 255 阅读 · 0 评论 -
JS如何阻止事件冒泡和如何阻止默认行为
【代码】JS如何阻止事件冒泡和如何阻止默认行为。原创 2020-04-18 17:18:47 · 342 阅读 · 0 评论 -
JS 什么是 冒泡 和 捕获
冒泡和捕获的关系,只会出现在包含和被包含的结构中,兄弟关系是不会有这种关系的。冒泡和捕获只是方向的不同而已。转载 2020-04-18 16:02:26 · 1369 阅读 · 0 评论 -
Vue中关于computed的基本构成和使用
当其依赖的属性的值发生变化时,计算属性会重新计算,反之,则使用缓存中的属性值。转载 2020-04-12 13:27:53 · 954 阅读 · 0 评论 -
vue开发computed,watch,method执行的先后顺序
Vue 确实提供了一种更通用的方式来观察和响应 Vue 实例上的数据变动:watch 属性。然而,通常更好的想法是使用 computed 属性而不是命令式的 watch 回调。3#watch:是一种更通用的方式来观察和响应 Vue 实例上的数据变动。一个对象,键是需要观察的表达式,值是对应回调函数。Vue 实例将会在实例化时调用 $watch(),遍历 watch 对象的每一个属性。所以他们的执行顺序为:默认加载的时候先computed再watch,不执行methods;它用于观察Vue实例上的数据变动。转载 2020-04-12 13:13:52 · 3221 阅读 · 2 评论 -
Vue中组件的watch用法详解;与this.$watch有什么区别
immediate表示在watch中首次绑定的时候,是否执行handler,值为true则表示在watch中声明的时候,就立即执行handler方法,值为false,则和一般使用watch一样,在数据发生变化的时候才执行handler。当需要监听一个对象的改变时,普通的watch方法无法监听到对象内部属性的改变,只有data中的数据才能够监听到变化,此时就需要deep属性对对象进行深度监听。数组(一维、多维)的变化不需要通过深度监听,对象数组中对象的属性变化则需要deep深度监听。原创 2020-04-11 21:31:34 · 386 阅读 · 1 评论 -
前端实现数组去重,如何高效快捷?
是比较笨拙的方法,它实现的原理很简单:先定义一个包含原始数组第一个元素的数组,然后遍历原始数组,将原始数组中的每个元素与新数组中的每个元素进行比对,如果不重复则添加到新数组中,最后返回新数组;该方法首先定义一个空数组res,然后调用indexOf方法对原来的数组进行遍历判断,如果元素不在res中,则将其push进res中,最后将res返回即可获得去重的数组.(,遍历数组,将数组中的值设为对象的属性,并给该属性赋初始值1,每出现一次,对应的属性值增加1,这样,属性值对应的就是该元素出现的次数了.转载 2020-04-11 19:56:24 · 516 阅读 · 1 评论 -
js 数据类型判断
从结果中看出instanceof不能识别出基本的数据类型 number、boolean、string、undefined、unll、Symbol,但是可以识别出Array、Object、Function,同时对于是使用new声明的类型,它还可以检测出多层继承关系。null、undefined没有construstor方法,因此constructor不能判断undefined和null,并且它是不安全的,因为contructor的指向是可以被改变。此方法可以相对较全的判断js的数据类型。转载 2020-04-10 21:14:33 · 236 阅读 · 1 评论 -
React中的生命周期函数
组件接受新的state或者props时调用,我们可以设置在此对比前后两个props和state是否相同,如果相同则返回false阻止更新,因为相同的属性状态一定会生成相同的dom树,这样就不需要创造新的dom树和旧的dom树进行diff算法对比,节省大量性能,尤其是在dom结构复杂的时候。使用React.createClass方式定义组件时会使用getDefaultProps这种方式,对于每个组件类来说,该方法只会调用一次,该组件类的所有后续实例将不会再调用,其返回的对象可以用于设置默认的props值。原创 2020-03-09 13:57:28 · 374 阅读 · 1 评论 -
Vue中this.$router.push(参数) 实现页面跳转
由于动态路由也是传递params的,所以在 this.$router.push() 方法中path不能和params一起使用,否则params将无效。需要用name来指定页面。很多情况下,我们在执行点击按钮跳转页面之前还会执行一系列方法,这时可以使用。页面通过path/name和query传递参数,该实例中row为某行表格数据。及通过路由配置的name属性访问。来修改 url,完成跳转。原创 2019-05-22 16:58:40 · 131967 阅读 · 10 评论 -
img标签和p标签是行内元素还是块级元素?以及p标签中可以放img标签吗?
其他块级元素:常用的有: div、p、ul、ol、li、dl、dt、dd、fieldset、form、h1~h6、hr、table另外还有:address、isindex、menu、noframes、noscript、pre、blockquote、center、dir、块级元素,默认宽度占满一行。HTML 是段落标签,除了可以添加文字内容外,完全可以添加其他。类似于 inline-block ,可以被p标签包裹。比如p是居中,图片也中了。也包括IMG图片标签。原创 2019-05-21 16:56:22 · 21464 阅读 · 1 评论 -
Vue 生命周期
每个Vue实例在被创建时都要经过一系列的初始化过程—例如,需要设置数据监听、编译模板、将实例挂载到DOM并在数据变化时更新DOM等。同时在这个过程中也会运行一些叫做。的函数,这给了用户在不同阶段添加自己的代码的机会。上下文指向调用它的Vue实例。原创 2019-04-24 13:04:43 · 343 阅读 · 1 评论 -
判断数组中值是否重复
【代码】判断数组中值是否重复。原创 2022-12-30 17:37:23 · 150 阅读 · 0 评论 -
react18 函数式写法 实现类似vue $set 的方法(immer的使用)
【代码】react18 函数式写法 实现类似vue $set 的方法(immer的使用)原创 2023-04-12 10:16:52 · 275 阅读 · 0 评论 -
TS不能将类型“any[]”分配给类型“never[]”
res已经定义了any类型,但是cateList的类型还没有定义,默认为never。在处理接口返回的数据,赋值给store中的数组时,报类型错误。原创 2023-04-06 20:40:19 · 3480 阅读 · 0 评论 -
js获取元素的宽高 clientWidth、offsetWidth、scrollWidth
【代码】js获取元素的宽高 clientWidth、offsetWidth、scrollWidth。转载 2023-05-24 16:25:11 · 744 阅读 · 0 评论